<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1583447782383223930</id><updated>2012-01-06T04:55:54.098-08:00</updated><category term='module-development'/><category term='drupal-views'/><category term='solr'/><category term='path_set_alias'/><category term='education'/><category term='drupal meet'/><category term='drupal video'/><category term='High Traffic'/><category term='podcast'/><category term='introduction'/><category term='durpal'/><category term='Cache'/><category term='Workshop'/><category term='XMLRPC'/><category term='apache-solr'/><category term='mashups'/><category term='custom modules'/><category term='beginners'/><category term='contribute-drupal'/><category term='tips'/><category term='Imagick'/><category term='Varnish'/><category term='Mobile Apps'/><category term='performance'/><category term='hook_menu'/><category term='Dries'/><category term='Thumbnailimage'/><category term='semantic'/><category term='multiple values'/><category term='birthday'/><category term='mysql'/><category term='lullabot'/><category term='form_api'/><category term='FSF'/><category term='views'/><category term='Services module'/><category term='groups'/><category term='distribution-profiles'/><category term='Drupal 8'/><category term='searchmonkey'/><category term='multisite'/><category term='autocomplete'/><category term='redesign'/><category term='APIs'/><category term='chennai'/><category term='FSFTN'/><category term='PHP'/><category term='tokenizers'/><category term='static file server'/><category term='captcha'/><category term='ImageMagick'/><category term='DrupalCon 2011'/><category term='menu_alter'/><category term='optimization'/><category term='history'/><category term='drupal'/><category term='search'/><category term='drupal 6'/><category term='benchmarking'/><category term='architecture'/><category term='Boost'/><category term='Drupal 7'/><category term='Panels'/><category term='open-source'/><category term='installation-profiles'/><title type='text'>Drupal-Chennai</title><subtitle type='html'>Drupal, CMS, Opensource, Chennai</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>56</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-94235734001979694</id><published>2012-01-04T17:34:00.001-08:00</published><updated>2012-01-06T04:55:54.119-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='ImageMagick'/><category scheme='http://www.blogger.com/atom/ns#' term='Imagick'/><category scheme='http://www.blogger.com/atom/ns#' term='Thumbnailimage'/><title type='text'>An Introduction to  Imagemagick with PHP</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Last week I had chance to work with &lt;a href="http://www.php.net/manual/en/imagick.examples-1.php"&gt;imagemagick&lt;/a&gt;, I was amazed by seeing the list features available with this library to create or edit an image. Here is a brief on ImageMagick&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;What is imagemagick?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: white; text-align: left;"&gt;&lt;a href="http://www.imagemagick.org/script/index.php"&gt;ImageMagick&lt;/a&gt;&lt;/span&gt;&lt;sup style="background-color: white; text-align: left;"&gt;&lt;a href="http://tarr.uspto.gov/servlet/tarr?regser=serial&amp;amp;entry=78333969" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #17457c; font-weight: bold; text-decoration: none;"&gt;®&lt;/a&gt;&lt;/sup&gt;&lt;span style="background-color: white; text-align: left;"&gt;&amp;nbsp;is a used to create, edit, compose, or convert images. It can read and write images in a variety of&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.imagemagick.org/script/formats.php?ImageMagick=a7cfhfvdknjg9gpk0s2kd0o3h0" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: #17457c; font-weight: bold; text-align: left; text-decoration: none;"&gt;formats&lt;/a&gt;&lt;span style="background-color: white; text-align: left;"&gt;. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;How do I install ImageMagick?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: white; text-align: left;"&gt;For installing the ImageMagick in linux, download the build &lt;/span&gt;&lt;a href="http://www.imagemagick.org/download/ImageMagick.tar.gz" style="background-color: white; text-align: left;"&gt;Imagemagick.tar.gz&lt;/a&gt;&lt;span style="background-color: white; text-align: left;"&gt;. Install the build as instructed &lt;/span&gt;&lt;a href="http://www.imagemagick.org/script/install-source.php?ImageMagick=a7cfhfvdknjg9gpk0s2kd0o3h0#unix" style="background-color: white; text-align: left;"&gt;here&lt;/a&gt;&lt;span style="background-color: white; text-align: left;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Unpack the build&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red; font-family: 'Trebuchet MS', sans-serif;"&gt;$ tar xvfz ImageMagick.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Configure and Compile&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red; font-family: 'Trebuchet MS', sans-serif;"&gt;$ cd ImageMagick-6.7.4&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red; font-family: 'Trebuchet MS', sans-serif;"&gt;$ ./configure&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red; font-family: 'Trebuchet MS', sans-serif;"&gt;$ make&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: white; margin-bottom: 1.33em; margin-top: 1.33em; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;If ImageMagick configured and compiled without complaint, you are ready to install it on your system. Administrator privileges are required to install. To install, type&lt;br /&gt;&lt;span style="background-color: transparent; color: red;"&gt;$ sudo make install&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; margin-bottom: 1.33em; margin-top: 1.33em; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;You may need to configure the dynamic linker run-time bindings:&lt;br /&gt;&lt;span style="background-color: transparent; color: red;"&gt;$ sudo ldconfig /usr/local/lib&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; margin-bottom: 1.33em; margin-top: 1.33em; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Finally, verify the ImageMagick install worked properly, type&lt;br /&gt;&lt;span style="background-color: transparent; color: red;"&gt;$ /usr/local/bin/convert logo: logo.gif&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; margin-bottom: 1.33em; margin-top: 1.33em; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;For a more comprehensive test, run the ImageMagick validation suite. Ghostscript is a prerequisite, otherwise the EPS, PS, and PDF tests will fail.&lt;br /&gt;&lt;span style="background-color: transparent; color: red;"&gt;$ make check&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="background-color: white; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;The same can also be installed in windows, instructions can be found &lt;a href="http://www.imagemagick.org/script/install-source.php?ImageMagick=a7cfhfvdknjg9gpk0s2kd0o3h0#unix"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;a href="http://pecl.php.net/package/imagick"&gt;Imagick&lt;/a&gt;&amp;nbsp;is a native php extension to create and modify images using the ImageMagick API.&amp;nbsp;&lt;span style="text-align: left;"&gt;This extension requires ImageMagick version 6.2.4+ and PHP 5.1.3+.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Install Imagick extension as usual way of pecl installation.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="text-align: left;"&gt;Copy the imagick.so to php ext directory usually&amp;nbsp;&lt;/span&gt;(/usr/local/php/ext).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Edit the php.ini add the installed extension&amp;nbsp;&lt;span style="background-color: #f0f0f0; text-align: left;"&gt;'extension=imagick.so'&lt;/span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Restart the Apache&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;After Sucessful installation check the imagick availabilty with phpinfo()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;If every thing goes fine, Now we can test it by writing a small program in php&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&amp;lt;?php&lt;br /&gt;header('Content-type: image/jpeg');&lt;br /&gt;$image = new Imagick('image.jpg');&lt;br /&gt;// If 0 is provided as a width or height parameter,&lt;br /&gt;// aspect ratio is maintained&lt;br /&gt;$image-&amp;gt;thumbnailImage(100, 0);&lt;br /&gt;echo $image;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;Imagick class constructed by loading a image 'image.jpg'.&lt;br /&gt;In the next line a member function thumbnailImage is called to resize the image width as 100 pixels. This function takes two parameter first is width and next is Height.&lt;br /&gt;Height assigned as 0 in the function to maintain the aspect ratio.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-94235734001979694?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/94235734001979694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2012/01/introduction-to-imagemagick-with-php.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/94235734001979694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/94235734001979694'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2012/01/introduction-to-imagemagick-with-php.html' title='An Introduction to  Imagemagick with PHP'/><author><name>Kamalakannan S</name><uri>https://profiles.google.com/117950624788410758669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-X5WmYgy7org/AAAAAAAAAAI/AAAAAAAAAAA/Dnfj1_09rRw/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-9086112540521291734</id><published>2011-11-14T22:44:00.001-08:00</published><updated>2011-11-16T01:30:54.831-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='Boost'/><category scheme='http://www.blogger.com/atom/ns#' term='Cache'/><category scheme='http://www.blogger.com/atom/ns#' term='High Traffic'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='views'/><category scheme='http://www.blogger.com/atom/ns#' term='Varnish'/><category scheme='http://www.blogger.com/atom/ns#' term='Panels'/><title type='text'>Implementing High Performance Drupal Sites</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div id="__ss_10153760" style="width: 425px;"&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/ShriKumar3/implementing-high-performance-drupal-sites" target="_blank" title="Implementing High Performance Drupal Sites"&gt;Implementing High Performance Drupal Sites&lt;/a&gt;&lt;/strong&gt; &lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/10153760" width="425"&gt;&lt;/iframe&gt; &lt;br /&gt;&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/ShriKumar3" target="_blank"&gt;Unimity&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;h4&gt;The Main Aspect covered during the Session:&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;What is “Performance”?&lt;/li&gt;&lt;li&gt;Different Layers of Performance&lt;/li&gt;&lt;li&gt;How to configure Drupal for Performance &lt;/li&gt;&lt;li&gt;Writing Drupal Modules for High Performance &lt;/li&gt;&lt;li&gt;Some Advanced Techniques &amp;amp; Caching Systems &lt;/li&gt;&lt;li&gt;Event Based Caching &lt;/li&gt;&lt;li&gt;Drupal 6 vs Drupal 7 &lt;/li&gt;&lt;li&gt;Performance in Drupal 8&lt;/li&gt;&lt;/ol&gt;&lt;h4&gt;Questions Asked after the Session:&lt;/h4&gt;&lt;h3&gt;Q: Why did you use Panels for the Deccan Chronicle Home, though Panels could be a performance hazard?&lt;/h3&gt;&lt;strong&gt;A:&lt;/strong&gt; &lt;a href="http://drupal.org/node/496278"&gt;Panels&lt;/a&gt; with the support of Ctools provides us many features to build a page or mini panel with drag and drop, create own layout, etc. These&amp;nbsp;abstractions/features make panels a heavy module to use. Yes absolutely true, but we need to balance user experience and requirement with performance. Hence Panels was to give better user experience to the Editor who manages the site. Being aware of the implication on performance, we planned the cache  very effectively by using time based  (tradition) and event based cache clearing systems. We enabled the cache in all panes and pages in the panels.&lt;br /&gt;&lt;h3&gt;Q: Is &amp;nbsp;Boost  a good option?&lt;/h3&gt;&lt;strong&gt;A:&lt;/strong&gt; &lt;a href="http://drupal.org/node/545664"&gt;Boost&lt;/a&gt; is a good option for anonymous users  and  hosting is in shared environment, where you will not have option to install other advanced cache support modules like memecache or varnish. Boost will serve the cached static html files for the configured cache lifetime, once the lifetime expired static html page will be regenerated. When we compare Boost and &lt;a href="http://drupal.org/node/1054886"&gt;Varnish&lt;/a&gt;, Boost caches the content and&amp;nbsp;delivers&amp;nbsp;it without disturbing MySql. Varnish works at a layer above Apache. Another difference is Boost uses the file system (disk) where as varnish uses RAM. Refer &amp;nbsp;http://groups.drupal.org/node/46042, http://cruncht.com/95/drupal-caching/. The benchmarking helps to decide that varnish is better than Boost. As the time old concept RAM is faster than Disk. So if you have infrastructure to install Varnish then Varnish is the better option.&lt;br /&gt;&lt;h3&gt;Q: Writing custom query to get required information from node vs using node load &lt;/h3&gt;&lt;strong&gt;A:&lt;/strong&gt; This question was in many of the developer's mind. node_load is a function which loads or constructs the node object by querying the database. This function uses static variable so if the node object is constructed once, then from next time it will be serving the node object from the static variable (static variable life time only limited to a single page load). Now we see how to decide on node_load or querying the table, this is depends on the use case I suggest. The Answer is written with Drupal 6 in mind.&lt;br /&gt;&lt;br /&gt;In a page if you want to  list ten other titles written by the author of the node we are viewing, then go for&amp;nbsp;Querying&amp;nbsp;the table. This is because we only need to query a single table to get this information. Node load will be a overhead, considering there&amp;nbsp;will&amp;nbsp;joins with the&amp;nbsp;node&amp;nbsp;revision table, CCK fields table.&lt;br /&gt;&lt;br /&gt;In other case you want to display list of node snippets (set of fields like title, teaser, date of node, configured fields etc. ) In this case we should use node_load, because node_load not only loads the node object from the database, it runs required on the node object.&amp;nbsp;Some&amp;nbsp;examples could be alternation in the teaser length or changing the date format etc.&lt;br /&gt;&lt;h3&gt;Q: Do we use cache_clear_all() or clear the cache based on CID?&lt;/h3&gt;&lt;strong&gt;A:&lt;/strong&gt; While writing code to clear the cache in our module always prefer to call Cache_clear_all by passing the CID and table name, by this only the cache content of the CID in the table will be get cleared. Or if you want to clear many rows you may use the wildcard option provided in the function.. In other case if you call cache_clear_all without CID and table, all expired cache content from cache_block and cache_page tables will get cleared (In case you have not assigned minimum cache lifetime then all temporary cache will get deleted). If you are storing the cache in other tables it is required to specify the  table name.&lt;br /&gt;&lt;br /&gt;We used this concept while creating event based caching system with in our application.&lt;br /&gt;&lt;br /&gt;Note: Use Cache_clear_all() with out arguments only if required, as if not used properly it may defeat the&amp;nbsp;purpose&amp;nbsp;of caching.&lt;br /&gt;&lt;h3&gt;Q: How do we show the dynamic content when we cache?&lt;/h3&gt;&lt;strong&gt;A:&lt;/strong&gt; When we cache the content for a lifetime 10 mins, then your user will get the static content from cache for first 10 mins. After the expiry of the lifetime 10 mins, cache will be rebuilt and new content will be shown. If you don't want your user to wait for 10 mins to get the new content, then may  choose from other available option is using Ajax to load the dynamic content considering the impact.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-9086112540521291734?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/9086112540521291734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/implementing-high-performance-drupal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/9086112540521291734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/9086112540521291734'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/implementing-high-performance-drupal.html' title='Implementing High Performance Drupal Sites'/><author><name>Kamalakannan S</name><uri>https://profiles.google.com/117950624788410758669</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-X5WmYgy7org/AAAAAAAAAAI/AAAAAAAAAAA/Dnfj1_09rRw/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-5347789651993508746</id><published>2011-11-11T05:49:00.000-08:00</published><updated>2011-11-11T05:49:22.196-08:00</updated><title type='text'>Three Cheers to Azri &amp; IEEE, Drupal Camp Deccan was mind blowing fun!</title><content type='html'>&lt;a href="http://goo.gl/photos/XQZzv5rqdS" imageanchor="1" style="clear:right;margin-bottom:1em;margin-left:1em"&gt;&lt;img border="0" src="https://lh4.googleusercontent.com/-wTi2RiBp_4c/Tr0lx29f6sI/AAAAAAAAArw/L8TqmqPh4kY/s512/Finale2.jpg"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-5347789651993508746?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/5347789651993508746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/three-cheers-to-azri-ieee-drupal-camp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5347789651993508746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5347789651993508746'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/three-cheers-to-azri-ieee-drupal-camp.html' title='Three Cheers to Azri &amp; IEEE, Drupal Camp Deccan was mind blowing fun!'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-wTi2RiBp_4c/Tr0lx29f6sI/AAAAAAAAArw/L8TqmqPh4kY/s72-c/Finale2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-3411224028960683184</id><published>2011-11-11T05:47:00.000-08:00</published><updated>2011-11-11T05:47:41.407-08:00</updated><title type='text'>At our Session on Performance</title><content type='html'>&lt;a href="http://goo.gl/photos/hY5MtwT5Zc" imageanchor="1" style="clear:right;margin-bottom:1em;margin-left:1em"&gt;&lt;img border="0" src="https://lh4.googleusercontent.com/-7B6w9LYEJBs/Tr0l-EgOtEI/AAAAAAAAAsI/pA0F7Ax5kNc/s512/During%252520Our%252520Session%2525202.jpg"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-3411224028960683184?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/3411224028960683184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/at-our-session-on-performance.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3411224028960683184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3411224028960683184'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/at-our-session-on-performance.html' title='At our Session on Performance'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-7B6w9LYEJBs/Tr0l-EgOtEI/AAAAAAAAAsI/pA0F7Ax5kNc/s72-c/During%252520Our%252520Session%2525202.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-4331326613305947890</id><published>2011-11-10T23:02:00.001-08:00</published><updated>2011-11-10T23:04:18.777-08:00</updated><title type='text'>Drupal Soup &amp; Drupal Socks</title><content type='html'>&lt;object width="400" height="224" &gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="movie" value="http://www.facebook.com/v/2570813474126" /&gt;&lt;embed src="http://www.facebook.com/v/2570813474126" type="application/x-shockwave-flash" allowfullscreen="true" width="600" height="424"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-4331326613305947890?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/4331326613305947890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/drupal-soup-drupal-socks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4331326613305947890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4331326613305947890'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/drupal-soup-drupal-socks.html' title='Drupal Soup &amp; Drupal Socks'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6347234007119927433</id><published>2011-11-10T21:12:00.002-08:00</published><updated>2011-11-10T21:12:51.103-08:00</updated><title type='text'>Dries lighing the lamp</title><content type='html'>&lt;a href="http://goo.gl/photos/EH2Sp8mdgj" imageanchor="1" style="clear:right;margin-bottom:1em;margin-left:1em"&gt;&lt;img border="0" src="https://lh3.googleusercontent.com/-5K9957QhZxI/TryryuwsfOI/AAAAAAAAApI/j1OJW1lzJiQ/s512/Dries%252520lighting%252520the%252520lamp.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6347234007119927433?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6347234007119927433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/dries-lighing-lamp_10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6347234007119927433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6347234007119927433'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/dries-lighing-lamp_10.html' title='Dries lighing the lamp'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-5K9957QhZxI/TryryuwsfOI/AAAAAAAAApI/j1OJW1lzJiQ/s72-c/Dries%252520lighting%252520the%252520lamp.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6804077321046761187</id><published>2011-11-10T21:12:00.000-08:00</published><updated>2011-11-10T21:12:25.414-08:00</updated><title type='text'>Acquia Team walking down to Drupal Camp Deccan</title><content type='html'>&lt;a href="http://goo.gl/photos/J8o7lJH2L9" imageanchor="1" style="clear:right;margin-bottom:1em;margin-left:1em"&gt;&lt;img border="0" src="https://lh3.googleusercontent.com/-guC1iv3SL1c/TryqzCx2BfI/AAAAAAAAAo4/5sub6DmdyJU/s512/Dries%252520%252526%252520Acquia%252520team%252520at%252520IIIT%252520hyd.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6804077321046761187?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6804077321046761187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/acquia-team-walking-down-to-drupal-camp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6804077321046761187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6804077321046761187'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/acquia-team-walking-down-to-drupal-camp.html' title='Acquia Team walking down to Drupal Camp Deccan'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-guC1iv3SL1c/TryqzCx2BfI/AAAAAAAAAo4/5sub6DmdyJU/s72-c/Dries%252520%252526%252520Acquia%252520team%252520at%252520IIIT%252520hyd.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-5355785915154717096</id><published>2011-11-10T21:11:00.000-08:00</published><updated>2011-11-10T21:11:26.784-08:00</updated><title type='text'>Unimity @ Drupal Camp Deccan</title><content type='html'>&lt;a href="http://goo.gl/photos/l42EHls73T" imageanchor="1" style="clear:right;margin-bottom:1em;margin-left:1em"&gt;&lt;img border="0" src="https://lh6.googleusercontent.com/-pe7QIWFpiLI/TryqjFVdESI/AAAAAAAAAqE/Q5KdWZUZ1sk/s512/Unimity%252520%252540%252520Drupal%252520Camp%252520Deccan.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-5355785915154717096?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/5355785915154717096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/unimity-drupal-camp-deccan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5355785915154717096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5355785915154717096'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/11/unimity-drupal-camp-deccan.html' title='Unimity @ Drupal Camp Deccan'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-pe7QIWFpiLI/TryqjFVdESI/AAAAAAAAAqE/Q5KdWZUZ1sk/s72-c/Unimity%252520%252540%252520Drupal%252520Camp%252520Deccan.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-2502296797162534142</id><published>2011-08-26T01:39:00.000-07:00</published><updated>2011-08-26T01:59:19.767-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DrupalCon 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal 8'/><category scheme='http://www.blogger.com/atom/ns#' term='Dries'/><title type='text'>Dries Keynote at DrupalCon London</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span id="internal-source-marker_0.11157500999979675" style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Must listen to &lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Dries Keynote at &lt;a href="http://london2011.drupal.org/"&gt;DrupalCon London&lt;/a&gt;. It is always great to hear him lead the Drupal Community!&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;He talks about Drupal and how it’s acceptance and usage has been increased. Drupal is now adopted more and more by Media, Government, Technology companies as a standard solution. He also highlights the way Drupal helps companies to innovate and move their interactions with their customers to a different level.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Presents the summary of his&lt;a href="http://drupal.org/node/1237254"&gt; State of Drupal 2011 survey&lt;/a&gt;, Drupal 8  and the way forward.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;He highlights how opportunity should be the one that defines a products road map! The need for &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;more marketing initiatives.&lt;/span&gt;Just jump in and watch Dries at London... I am missing being a part of it all!&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0" height="270" id="flashObj" width="480"&gt;&lt;param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&amp;isUI=1" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="flashVars" value="videoId=1122581999001&amp;playerID=793830727001&amp;playerKey=AQ~~,AAAAuFIGwck~,XYSambmH7ySRJvSGXM6jvO2WTQY3FJ3a&amp;domain=embed&amp;dynamicStreaming=true" /&gt;&lt;param name="base" value="http://admin.brightcove.com" /&gt;&lt;param name="seamlesstabbing" value="false" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="swLiveConnect" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&amp;isUI=1" bgcolor="#FFFFFF" flashVars="videoId=1122581999001&amp;playerID=793830727001&amp;playerKey=AQ~~,AAAAuFIGwck~,XYSambmH7ySRJvSGXM6jvO2WTQY3FJ3a&amp;domain=embed&amp;dynamicStreaming=true" base="http://admin.brightcove.com" name="flashObj" width="480" height="270" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-2502296797162534142?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/2502296797162534142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/08/dries-keynote-at-drupalcon-london.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/2502296797162534142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/2502296797162534142'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/08/dries-keynote-at-drupalcon-london.html' title='Dries Keynote at DrupalCon London'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-1730340438385388196</id><published>2011-08-14T10:44:00.000-07:00</published><updated>2011-08-17T02:04:59.045-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='form_api'/><category scheme='http://www.blogger.com/atom/ns#' term='multiple values'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal 6'/><category scheme='http://www.blogger.com/atom/ns#' term='autocomplete'/><title type='text'>Auto Complete form field  with multiple Values</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;To create an auto-complete field in Drupal, all you need to do to is to use the From API attribute &lt;a href="http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/5#autocomplete_path"&gt;#autocomplete_path &lt;/a&gt;and associate with a custom menu callback that provides the AJAX response for the auto-complete field. The custom menu callback can define the query that needs to be made in the database before a result is returned. The below code can b used to create a multi-select auto-complete field.&lt;br /&gt;&lt;br /&gt;The best examples of the auto-complete field in core are the author field in node create and edit and taxonomy auto-complete.&lt;br /&gt;&lt;br /&gt;function my_module_menu() {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;$items['my-module/my-autocomplete'] = array(&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; 'title' =&amp;gt;'My module autocomplete',&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; 'page callback' =&amp;gt; 'my_module_autocomplete',&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; 'access callback' =&amp;gt; 'my_access',&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; 'access arguments' =&amp;gt; array('my module access'),&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; 'type' =&amp;gt; MENU_CALLBACK,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; );&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp;return $items;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;function my_module_autocomplete($string = '') {&lt;br /&gt;&amp;nbsp; $array = drupal_explode_tags($string);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; // Fetch last value&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; $last_string = trim(array_pop($array));&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp;&amp;nbsp;$matches = array();&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; if ($last_string){&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; $result = &amp;nbsp;Define Query here...&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; while($obj = db_fetch_object($result)) {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $prefix = count($array) ? implode(', ', $array) .', ' : '';&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $matches[$prefix.$obj-&amp;gt;;name] = check_plain($obj-&amp;gt;name);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp;drupal_json($matches);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;u&gt;Reference:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;1. Helper function &lt;a href="http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.pages.inc/function/taxonomy_autocomplete/6"&gt;taxonomy_autocomplete&lt;/a&gt;&amp;nbsp;in taxonomy module&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;2. Function user_autocomplete in user module.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-1730340438385388196?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/1730340438385388196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/08/auto-complete-form-field-with-multiple.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1730340438385388196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1730340438385388196'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/08/auto-complete-form-field-with-multiple.html' title='Auto Complete form field  with multiple Values'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-5681462922476521874</id><published>2011-08-14T10:30:00.000-07:00</published><updated>2011-08-14T10:31:00.984-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hook_menu'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal 6'/><category scheme='http://www.blogger.com/atom/ns#' term='menu_alter'/><category scheme='http://www.blogger.com/atom/ns#' term='path_set_alias'/><title type='text'>Working with Drupal’s hook_menu</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Drupal’s &lt;/span&gt;&lt;a href="http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu/6"&gt;hook_menu&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; is one of the most important drupal hook. It defines paths in the drupal system and what they do. You can not write a custom module without understanding &lt;/span&gt;&lt;a href="http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu/6"&gt;hook_menu&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: transparent; font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The functionality could be  listing of content on the site or an administrative page or it could just be a special page that needs to be generated and maintained as a custom module, all these can be met by writing a menu callback. &lt;/span&gt;&lt;a href="http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu/6"&gt;hook_menu&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: transparent; font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; is normally used in a custom module when using drupal’s page, views generated pages do not meet our custom requirements.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Often we may not want to create new menu callbacks but may use functionalities provided by other custom modules menu callbacks. There may be a need to customize the menucall backs of core or custom modules to meet the requirements.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The below note gives an overview of the different usecases of hook_menu and also a peek in to how to alter a core/contributed menu callbacks in our own custom module.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;The different usecases of a hook_menu&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;1) Custom page or functionality on the site. e.g: Blog module’s callback blog_page that is Listing of all blogs on the site.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;$items&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;[&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'blog'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;] = &lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;array&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;(&lt;br class="kix-line-break" /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'title'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'blogs'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;br class="kix-line-break" /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'description'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'Listing of blogs.'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;br class="kix-line-break" /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'page callback'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'blog_page'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;br class="kix-line-break" /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'access arguments'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;array&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;(&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'access content'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;), &lt;br class="kix-line-break" /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;'type'&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; =&amp;gt;&lt;/span&gt;&lt;a href="http://api.drupal.org/api/drupal/includes--menu.inc/constant/MENU_SUGGESTED_ITEM/6"&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;MENU_SUGGESTED_ITEM&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;,&lt;br class="kix-line-break" /&gt; &amp;nbsp;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;User modules’s callback admin/user/user. This menucallback lists users, provides for links to edit and add new users&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; $items['admin/user/user'] = array(&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'title' =&amp;gt; 'Users',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'description' =&amp;gt; 'List, add, and edit users.',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'page callback' =&amp;gt; 'user_admin',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'page arguments' =&amp;gt; array('list'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'access arguments' =&amp;gt; array('administer users'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'file' =&amp;gt; 'user.admin.inc',&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;2) Generate Forms: All forms that are built in Drupal will have an associated menu callback. Forms that need beyond the node create and edit forms that are available with Drupal need to be built using page callback &lt;a href="http://api.drupal.org/api/drupal/includes--form.inc/function/drupal_get_form/6"&gt;drupal_get_form&lt;/a&gt;. These could range from admin forms to user forms. Refer &lt;a href="http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/5"&gt;Form API&lt;/a&gt; for more information on building forms.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;e.g: Node modules: create and edit content forms. &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Contact module: Site wide contact form, user contact forms and Contact admin settings forms.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br class="kix-line-break" /&gt; $items['admin/build/contact'] = array(&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'title' =&amp;gt; 'Contact form',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'description' =&amp;gt; 'Create a system contact form and set up categories for the form to use.',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'page callback' =&amp;gt; 'contact_admin_categories',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'access arguments' =&amp;gt; array('administer site-wide contact form'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'file' =&amp;gt; 'contact.admin.inc',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;3) AJAX callbacks: Any &amp;nbsp;AJAX &amp;nbsp;functionality on the site will have an associated callback that defines the action that happens or the value that needs to be retrieved on &amp;nbsp;AJAX .&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;e.g: user/autocomplete &amp;nbsp;AJAX callback that is called in used in the author field of the create and edit node form.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; $items['user/autocomplete'] = array(&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'title' =&amp;gt; 'User autocomplete',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'page callback' =&amp;gt; 'user_autocomplete',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'access callback' =&amp;gt; 'user_access',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'access arguments' =&amp;gt; array('access user profiles'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'type' =&amp;gt; MENU_CALLBACK,&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'file' =&amp;gt; 'user.pages.inc',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;);&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br class="kix-line-break" /&gt;4) Create RSS feeds&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The hook_menu not only allows us to define other content formats that can be generated in response to a http request.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;e.g: Node/blog modules provides for &lt;/span&gt;&lt;a href="http://rss.ml/" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: #000099; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;rss.xml&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; callback that provides rss feeds.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; $items['rss.xml'] = array(&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'title' =&amp;gt; 'RSS feed',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'page callback' =&amp;gt; 'node_feed',&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'access arguments' =&amp;gt; array('access content'),&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;'type' =&amp;gt; MENU_CALLBACK,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;For &amp;nbsp;a full list of parameters that can be associated with a menucallback, visit&lt;a href="http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu/6"&gt; hook_menu drupal 6 api page&lt;/a&gt;. Most importantly, in all the above the menu callback created can be associated with specific permissions. &lt;/span&gt;The access arguments help in defining the access rules and also in providing security to the menu callbacks.&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Proper use of these parameters is important in implementing the functionality and also in organising the associated code. &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Customizing core/contributed module’s menucallbacks&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Some usecases include:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;1. Rename the path of a core or contributed module. This can be achieved using: &lt;/span&gt;&lt;span style="background-color: transparent; font-style: normal; font-variant: normal; vertical-align: baseline;"&gt;&lt;a href="http://api.drupal.org/api/drupal/modules--path--path.module/function/path_set_alias/6" style="background-color: transparent; color: #000099; text-decoration: underline; white-space: pre-wrap;"&gt;path_set_alias&lt;/a&gt;&lt;u style="color: #000099; white-space: pre-wrap;"&gt;.&lt;/u&gt;&amp;nbsp;&lt;u style="color: #000099; white-space: pre-wrap;"&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-family: 'Trebuchet MS', sans-serif; vertical-align: baseline; white-space: pre-wrap;"&gt;path_set_alias('og/xxx/'. $node-&amp;gt;nid, $alias_path);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: transparent; vertical-align: baseline;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;This is particularly useful for modules that are not supported by pathauto.&lt;/span&gt;&lt;/span&gt;&lt;a href="http://drupal.org/project/pathauto" style="color: #000099; text-decoration: underline;"&gt;Path auto&lt;/a&gt; module provides for an admin interface to path alias various content  in Drupal.&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;2. Reset some of the menucallback's properties by using &lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu_alter/6"&gt;Hook Menu Alter&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Removing user profile tabs using &lt;a href="http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu_alter/6"&gt;menu_alter&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;function my_module_menu_alter(&amp;amp;$items) {&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;$items['user/...']['type'] = MENU_CALLBACK;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;}&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;In the above example we are changing the type of Menu callback user/... from MENU_LOCAL_TASK to a regular MENU_CALLBACK. This callback will no longer be displayed in a tab. &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;menu_alter could be extended to change the access callback, redirect to another custom callback, etc.&lt;/span&gt;&lt;br /&gt;function my_module_menu_alter(&amp;amp;$items) {&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;$items['cart']['access arguments'] = array('access my module');&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;  $items['cart']['page callback'] = 'drupal_goto';&lt;/span&gt;&amp;nbsp; $items['cart']['page arguments'] = array('my_module_menu');&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;}I&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;n the above example we&lt;/span&gt; reset the access arguments of the ‘cart’ callback in ubercart module to my modules permission 'access my module', redirect the cart callback to my modules callback my_module_menu.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;References:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;h1 id="page-subtitle" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; line-height: 1.25em; margin-bottom: 0.375em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;hook_menu api reference:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div style="color: #222222; line-height: 18px;"&gt;&lt;a href="http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu/6"&gt;http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu/6&lt;/a&gt;&lt;/div&gt;&lt;div style="color: #222222; line-height: 18px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #222222; line-height: 18px;"&gt;hook_menu_alter:&amp;nbsp;&lt;/div&gt;&lt;div style="color: #222222; line-height: 18px;"&gt;&lt;a href="http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu_alter/6"&gt;http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_menu_alter/6&lt;/a&gt;&lt;/div&gt;&lt;div style="color: #222222; line-height: 18px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #222222; line-height: 18px;"&gt;Drupal's Menu System:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #222222;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;a href="http://drupal.org/node/102338"&gt;http://drupal.org/node/102338&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #222222;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-5681462922476521874?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/5681462922476521874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/08/working-with-drupals-hookmenu.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5681462922476521874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5681462922476521874'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/08/working-with-drupals-hookmenu.html' title='Working with Drupal’s hook_menu'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-7239042478327823900</id><published>2011-07-31T10:46:00.000-07:00</published><updated>2011-07-31T10:52:24.675-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='Services module'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile Apps'/><title type='text'>Drupal and Mobile Apps</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;span id="internal-source-marker_0.6340695468243212" style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Today having a website is synonymous to being accessible in all devices. Drupal is being used as the backend Data store for a large number of Mobile Apps. Mobile Apps could be Iphone Apps, Anroid Apps or specifically for Blackberry.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The two modules that are being widely used in building Drupal based Mobile Apps are Services and View Data Source modules. &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://drupal.org/project/services"&gt;Services Modules&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://drupal.org/project/services"&gt;Services Module &lt;/a&gt;allows you to expose drupal data to external websites or Mobile applications. Earlier Services was used to integrate Flash with Drupal, today most of the use cases of Services module are for Mobile Apps, where Drupal acts as the backend. The power of services module is that it has multiple interfaces and hence brings with greater flexibility. The Programmer can focus on handling the content while Service takes care of the json response in appropriate format.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The Main components of the &lt;a href="http://drupal.org/project/services"&gt;Services module&lt;/a&gt; are:&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Servers: That Receive and Send requests&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Authentication Layer&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Services: These Process data that need to be pulled out of the Drupal backend&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Link to Module Page: &lt;/span&gt;&lt;a href="http://drupal.org/project/services"&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;http://drupal.org/project/services&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://drupal.org/project/views_datasource"&gt;Views Data Source&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;This module allows you to render out put from various views in a variety of formats. The Module is extremely simple to use: Create a view as required, choose page display and one of the Views Data Source formats.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Link to Module page: &lt;/span&gt;&lt;a href="http://drupal.org/project/views_datasource"&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;http://drupal.org/project/views_datasource&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Reference links:&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.lullabot.com/podcasts/drupal-voices-105-greg-dunlap-on-services-module-and-mobile-apps"&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;http://www.lullabot.com/podcasts/drupal-voices-105-greg-dunlap-on-services-module-and-mobile-apps&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.lullabot.com/podcasts/drupal-voices-208-pat-teglia-on-developing-mobile-apps-with-titanium-framework"&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;http://www.lullabot.com/podcasts/drupal-voices-208-pat-teglia-on-developing-mobile-apps-with-titanium-framework&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.lullabot.com/articles/module-monday-views-datasource"&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;http://www.lullabot.com/articles/module-monday-views-datasource&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-family: 'Trebuchet MS'; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://chicago2011.drupal.org/conference/bof/mobile-apps-use-drupal-backend-w-services-modules-nysenate"&gt;http://chicago2011.drupal.org/conference/bof/mobile-apps-use-drupal-backend-w-services-modules-nysenate&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://chicago2011.drupal.org/conference/bof/mobile-apps-use-drupal-backend-w-services-modules-nysenate"&gt;&lt;/a&gt;&lt;a href="http://groups.drupal.org/mobile"&gt;http://groups.drupal.org/mobile&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-7239042478327823900?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/7239042478327823900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/07/drupal-and-mobile-apps.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7239042478327823900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7239042478327823900'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/07/drupal-and-mobile-apps.html' title='Drupal and Mobile Apps'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-1823312027540422322</id><published>2011-03-06T05:52:00.000-08:00</published><updated>2011-03-06T05:52:56.935-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='module-development'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal 7'/><title type='text'>Interesting Facts on Drupal Module Development</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;I am reading Drupal 7 Module Development by&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;Matt Butcher, Greg Dunlap, Matt Farnia, Larry Garfield, Ken Rickard and Jon Albin Wilkins.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;&lt;br /&gt;Inspired by the book, some Interesting Facts on Drupal Module Development that I wanted to share&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol start="1" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;What is the hook implementation in      Drupal?&lt;br /&gt;EVENT Triggers in drupal: The Hook implementation is a function that      follows a certain naming pattern in order to indicatie to Drupal that it      should be used as a callback for a particular event in the Drupal System.&lt;br /&gt;&lt;br /&gt;In most cases ensure the hook implementations reside within the main      .module file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="MsoNormal" style="margin-left: .25in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol start="2" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;Placing your Custom modules:&lt;br /&gt;OPTION1: The convention that we follow is to place both Contributed and      Custom modules under sites/all/modules directory. All the custom modules      are placed with in sites/all/modules/custom.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;OPTION2: The second approach could be to have all Contributed modules under&lt;br /&gt;sites/all/modules/contrib and any Custom modules under sites/all/modules/custom. This may not be a good solution as in Drupal 7 when you use Drush, the modules are automatically installed under sites/all/modules.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;OPTION3: The approach I read in the book seems really neat. Place all Contrib modules under sites/all/modules and all custom modules under sites/default/modules.&lt;br /&gt;The main advantage being, it brings a clear separation between the modules maintained by us and those by the community.&lt;br style="mso-special-character: line-break;" /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br style="mso-special-character: line-break;" /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;But in the case of a multisite installation where there is a need to share the custom modules across installations choose OPTION1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol start="3" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;The .info file in any module always      starts with a $Id$. Have you wondered why?&lt;br /&gt;This is a placeholder for the Version control system to store information      about the file. ( When the file was last checked in and by who)&lt;br /&gt;With the new GIT integration alive, this should be on the way out.&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;Follow Doxygen-style commenting      (/**&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;*/)&lt;br /&gt;@file decorator for doc-block should be the first doc block of any module&lt;br /&gt;Syntax: Begin with a single sentence Description of the module, followed      by&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;a blank line and then followed      by a one or more paragraph description of the module.&lt;br /&gt;ALL DOCS MUST BE WRITTEN IN GRAMATICALLY CORRECT AND PUNCTUATED SENTENCES.&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;&lt;blockquote&gt;&lt;br /&gt;$variable = ‘This is a string’ ;&lt;br /&gt;t($variable) ;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Why wouldn’t translation system work above?&lt;br /&gt;&lt;br /&gt;Automated Translation run, the code doesnot execute it only simply reads.&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;Once a module is installed, Drupal      caches the content of the .info file. Revisit the module page to force      Durpal to refresh this information.&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;Drupal arrays - terminate large      multiline arrays with a comma: This is to help in avoiding syntax errors      while adding or removing from a large array.&lt;br /&gt;This can not be extended to drupal js arrays.&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list .5in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;2 Most powerful Enhancements in Drupal      7&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br style="mso-special-character: line-break;" /&gt;      &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol start="1" style="margin-top: 0in;" type="a"&gt;&lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;PDI – PHP Data Object library       integration in Durpal 7: This&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;       &lt;/span&gt;library is an abstraction layer that supports numerous database       layer. This provides the capability for Drupal 7 to support beyond MYsql.       Postgre-sql to Oracle and &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;Fields and Entities&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;div class="MsoNormal" style="margin-left: 1.5in; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; tab-stops: list 1.5in; text-indent: -1.5in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; mso-bidi-font-family: &amp;quot;Trebuchet MS&amp;quot;; mso-fareast-font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;Field system: Bring with it CCKs functionality in the core&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1.5in; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; tab-stops: list 1.5in; text-indent: -1.5in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; mso-bidi-font-family: &amp;quot;Trebuchet MS&amp;quot;; mso-fareast-font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;;"&gt;Entity System: make sit possible to define structures data types that are not NODES!&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-1823312027540422322?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/1823312027540422322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/03/interesting-facts-on-drupal-module.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1823312027540422322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1823312027540422322'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/03/interesting-facts-on-drupal-module.html' title='Interesting Facts on Drupal Module Development'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-8738943944854750573</id><published>2011-03-04T20:21:00.000-08:00</published><updated>2011-03-04T20:23:09.501-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contribute-drupal'/><title type='text'>Attending DrupalCon Chicago!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 13px;"&gt;I have been working on Drupal projects for over 4 years now. Some high performance sites, some Durpal Applications and some others Content sites. I could talk about my Drupal experience professionally, about the features we implemented, the theming we did, the modules we developed, the performance tuning, etc. But now when I sit back now on my Flight to &lt;st1:city w:st="on"&gt;&lt;st1:place w:st="on"&gt;Newark&lt;/st1:place&gt;&lt;/st1:city&gt; and think about it, the most exciting part has been the Drupal Community!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: 'Helvetica Neue', Arial, 'Nimbus Sans L', sans-serif; font-size: 15px; line-height: 21px;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Trebuchet MS'; font-size: 10pt;"&gt;When I retrospect about what I have been doing and why? What is it that has made me stick on to Drupal, work with Drupal and here fly across the world for a Drupal conference? The Answers are far beyond the challenges that I faced on a day to day basis or the bugs that I fixed in my projects or the technology I learnt. It is MUCH more than all this. It is my sense of belonging, being a part of this big community, sharing the success and the joys. The Feeling of Oneness!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Trebuchet MS'; font-size: 10pt;"&gt;In this respect I think the Drupal Community has made my experience in the last few years richer and just being a part of this one big community has given more joy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://chicago2011.drupal.org/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="I'm attending DrupalCon Chicago, March 7-10, 2011" border="0" src="http://chicago2011.drupal.org/sites/default/files/attachment/dcc2011_attending.png" /&gt;&lt;/a&gt;&lt;span style="font-family: 'Trebuchet MS'; font-size: 10pt;"&gt;I do not write modules, but I love participating in the Drupal Forums. I am very active in the Forums, most of the times&lt;/span&gt;&lt;span style="font-family: Wingdings; font-size: 10pt;"&gt;J&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS'; font-size: 10pt;"&gt;. Over the last year I was involved in QA of the Drupal redesign and early this year in bringing us all together for the Drupal 7 celebrations. I have also been very active in bringing together the Chennai Drupal Community. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Trebuchet MS'; font-size: 10pt;"&gt;The Chennai Drupal Community has been an exciting experience. Here our interactions have gone beyond the internet. We have regular face to face meetings with each other and share our experiences and knowledge in Drupal. The energy we share is humongous. I have also got a chance to present at many big conferences in &lt;st1:place w:st="on"&gt;&lt;st1:country-region w:st="on"&gt;India&lt;/st1:country-region&gt;&lt;/st1:place&gt; and to conduct Drupal Introductory training programs at Colleges.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Trebuchet MS'; font-size: 10pt;"&gt;Today, I am looking forward to meeting many fellow Drupaler across the world, who I have actively followed and some of whom I have interacted with! I am excited I will be meeting them face to face… Looking forward to meeting the Drupal Community.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Trebuchet MS'; font-size: 10pt;"&gt;We must have one DrupalCon in &lt;st1:country-region w:st="on"&gt;India&lt;/st1:country-region&gt; every year, so all my colleagues, other Drupalers in &lt;st1:country-region w:st="on"&gt;&lt;st1:place w:st="on"&gt;India&lt;/st1:place&gt;&lt;/st1:country-region&gt; can share this experience…&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-8738943944854750573?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/8738943944854750573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/03/going-to-drupalcon-chicago.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8738943944854750573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8738943944854750573'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2011/03/going-to-drupalcon-chicago.html' title='Attending DrupalCon Chicago!'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-4807168371384356583</id><published>2010-12-27T08:48:00.000-08:00</published><updated>2010-12-27T08:51:52.508-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal meet'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal 7'/><title type='text'>A Very Happy New Year with Drupal!</title><content type='html'>&lt;div&gt;Drupal Christmas Song, Listen and enjoy the Season with Drupal!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;object height="390" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Xo5ubrJ1emA&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;version=3"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Xo5ubrJ1emA&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;u&gt;Local Drupal Fun this NewYear:&lt;/u&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Enjoy Drupaling this New Year. Join us at &lt;a href="http://groups.drupal.org/node/114834"&gt;Drupal 7 Release party, Chennai&lt;/a&gt;. There is going to be a whole lot of Fun!&amp;nbsp;Drupal Quiz, Drupal 7 Tips and Tricks, Have Answers to Questions on&amp;nbsp;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;how you can get involved in patch writing and reviewing, Good Food and more... Be a part of Drupal in Chennai!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;Know more about Drupal 7 read on at&amp;nbsp;&lt;a href="http://shyamala-drupal.blogspot.com/search/label/Drupal%207"&gt;http://shyamala-drupal.blogspot.com/search/label/Drupal%207&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-4807168371384356583?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/4807168371384356583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/12/very-happy-new-year-with-drupal.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4807168371384356583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4807168371384356583'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/12/very-happy-new-year-with-drupal.html' title='A Very Happy New Year with Drupal!'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-7649437470192701063</id><published>2010-12-17T08:58:00.000-08:00</published><updated>2010-12-17T09:19:15.831-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DrupalCon 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>DrupalCon Session: Maintaining the codebase and updates of a Drupal Website</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Drupal stores most of the configurations and settings in the database. Deploying and Managing a Drupal website requires both code updates as well as interface updates. Changing permissions, adding fields to your content types, modify an existing view, installing and configuring a new module are some of the typical interface updates that needs to be moved from the Development Server to the Test servers and then further in the Live servers. In this session I would like to present solutions that would facilitate the update process to be people independent and totally maintained under version control.&lt;/span&gt;&lt;br /&gt;&lt;a href="http://chicago2011.drupal.org/sessions/maintaining-codebase-and-updates-drupal-website" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://t0.gstatic.com/images?q=tbn:ANd9GcQuPF0NrSLD63XsbZNqhRxTL-ZQ6XxO-rTeoBvlRnF76IDm6QTA" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Want to Checkout solutions to ease the maintenance of a Drupal Website &lt;b&gt;VOTE FOR my DrupalCon Session at &lt;a href="http://chicago2011.drupal.org/sessions/maintaining-codebase-and-updates-drupal-website"&gt;http://chicago2011.drupal.org/sessions/maintaining-codebase-and-updates-drupal-website&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&lt;span class="Apple-style-span" style="line-height: 21px;"&gt;&lt;b&gt;Questions answered by this session would include:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="field field-type-text field-field-question1" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item odd" style="margin-left: 16px; position: relative;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;How to have a Drupal update process that is people independent and totally maintained under version control?&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-type-text field-field-question2" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item odd" style="margin-left: 16px; position: relative;"&gt;&lt;div class="field-label-inline-first" style="clip: rect(1px 1px 1px 1px); display: inline; font-weight: bold; position: absolute !important;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Question 2:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;How to use Drush to improve the Update Deployment Process for a Drupal website?&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-type-text field-field-question3" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item odd" style="margin-left: 16px; position: relative;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;What are Features and Strongram modules?&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-type-text field-field-question4" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item odd" style="margin-left: 16px; position: relative;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;How to use update.php to trigger database script updates? What are the cache flush routines that need to be called after the database updates?&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-type-text field-field-question5" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item odd" style="margin-left: 16px; position: relative;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;What are status of Drush, Features modules in Drupal 7?&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-7649437470192701063?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/7649437470192701063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/12/maintaining-codebase-and-updates-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7649437470192701063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7649437470192701063'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/12/maintaining-codebase-and-updates-of.html' title='DrupalCon Session: Maintaining the codebase and updates of a Drupal Website'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-8451780674822222849</id><published>2010-12-17T06:58:00.000-08:00</published><updated>2010-12-17T08:43:25.035-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='Workshop'/><title type='text'>Drupal Workshop for Academicians and Researchers at NCAR</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;It was indeed a unique experience presenting and conducting a Workshop on Drupal to a group of Academicians and Researchers. The Workshop was organised by &lt;a href="http://www.fsmi.in/"&gt;Free Software Movement&amp;nbsp;of India&lt;/a&gt; at NCAR&amp;nbsp;Hyderabad, India. It gives me great pride that I participated in a Workshop that was inaugurated by&amp;nbsp;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dr. A.P.J Abdul Kalam&lt;/span&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;&lt;a href="http://drupal.org/user/570956"&gt;Siva&lt;/a&gt;&amp;nbsp;from Drupal Hyderbad and I conducted this Workshop together. We only met in the morning, but we were so much in Synch and Conducted the workshop as though we had always worked together! Wondering what brought this togetherness, it was ofcourse the fact that both of us were Drupalers! Drupal brought us together.&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;&lt;br /&gt;Both Siva and I had short Presentations and we also helped our participants have a handson on Drupal, trying out a Drupal installation from scratch, changing the theme, enabling modules and actually feeling the power of Drupal.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;My Presentation&lt;/span&gt;&lt;/div&gt;&lt;div id="__ss_6210651" style="width: 425px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/shyamdrupal/drupalacademics-research" title="Drupalacademics research"&gt;Drupal for Academics and Research&lt;/a&gt;&lt;/strong&gt;&lt;object height="355" id="__sse6210651" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=drupalacademicsresearch-101217082425-phpapp01&amp;amp;stripped_title=drupalacademics-research&amp;amp;userName=shyamdrupal" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse6210651" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=drupalacademicsresearch-101217082425-phpapp01&amp;amp;stripped_title=drupalacademics-research&amp;amp;userName=shyamdrupal" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="padding: 5px 0 12px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/shyamdrupal"&gt;rajaram shyamala&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;The most exiting part of these Workshops are always the Question Answer Sessions. Some of the interesting Questions were:&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;&lt;br /&gt;How can Drupal help Academicians and Researchers?&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;How is Drupal different from Moodle?&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px;"&gt;How can I change the look and feel of my Drupal site?&lt;/div&gt;How do you install new modules?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-8451780674822222849?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/8451780674822222849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/12/drupal-workshop-for-academicians-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8451780674822222849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8451780674822222849'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/12/drupal-workshop-for-academicians-and.html' title='Drupal Workshop for Academicians and Researchers at NCAR'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-2650202826788578373</id><published>2010-11-25T08:37:00.000-08:00</published><updated>2010-11-27T05:09:03.816-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distribution-profiles'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='installation-profiles'/><title type='text'>Drupal's Installation Profiles</title><content type='html'>&lt;u&gt;What is a Drupal installation Profile? &lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;It is a set of Drupal modules, predefined themes, configurations bundled together into a single installation. When you install this bundled installation, all the modules in it will get installed, preconfigured and you have a ready to use Drupal website. These installation profiles could cater to specific requirements that Drupal could be used to meet, like a Newspaper website, a Wiki Website, an Intranet portal, etc. Check out Drupal Installation profiles at &lt;a href="http://drupal.org/project/installation%2Bprofiles"&gt;http://drupal.org/project/installation%2Bprofiles&lt;/a&gt;&lt;/blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_cG31REGLUTw/TO6SzQ29MxI/AAAAAAAAAiw/QxPfa_-JSVw/s1600/Drupal+Profile.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_cG31REGLUTw/TO6SzQ29MxI/AAAAAAAAAiw/QxPfa_-JSVw/s1600/Drupal+Profile.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;u&gt;Components of a Drupal Installation Profile&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Install profiles are located in the 'profiles' directory of a  core Drupal installation. They are named profilename.profile. A profile will contain the below set of Functions:&lt;br /&gt;&lt;br /&gt;profilename_profile_modules() - This function defines all the modules that get installed with the profile. First the Core modules are installed, followed by Contributed, followed by Custom modules.&lt;br /&gt;&lt;br /&gt;profilename_profile_details() - This function defines the name and a short description of the Profile. The Default profile is the Drupal profile that comes with every Drupal installation. &lt;br /&gt;&lt;br /&gt;profilename_profile_tasks() - At this stage the modules specified in profilename_profile_modules() have been installed. And you have access to the full Drupal API so you could define any custom content types, create vocabularies and terms, change variable settings to your liking, etc&lt;br /&gt;&lt;br /&gt;We could have database updates like:&lt;br /&gt;&lt;br /&gt;1)      Set configurations (variable_set)&lt;br /&gt;2)      Create predefines roles and access control&lt;br /&gt;3)      Create preconfigured Menus&lt;br /&gt;4)      Create preconfigured Blocks and CCK&lt;br /&gt;5)      Create preconfigured content or content types&lt;br /&gt;6)      Configure predefine theme&lt;br /&gt;&lt;br /&gt;This should be followed with Cache clear and Database rebuild.&lt;br /&gt;&lt;br /&gt;1. Rebuild menu&lt;br /&gt;2. Clear Cache:  run cron to clear cache or write explicit cache clear code as in the systems.module in Drupal core&lt;br /&gt;DONOT use drupal_flush_all_caches(): would result in all themes being disabled&lt;br /&gt;3. Based on the contributed modules enabled, we must also make sure and handle any other table that requires a rebuild following their installation.&lt;br /&gt;&lt;br /&gt;Reference: &lt;a href="http://drupal.org/node/67921"&gt;Writing a Drupal installation Profile Handbook Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Supporter modules: &lt;br /&gt;&lt;a href="http://drupal.org/project/install_profile_api"&gt;Installation Profile API&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/profile_generator"&gt;Profile Generator&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Why Create Drupal Profiles?&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Drupal Profiles provide a easy maintainable suite that can be replicated for multiple users. The readily available Installation Profiles in Drupal allow a quick and easy base website.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Some Good Installation Profiles:&lt;/u&gt;&lt;br /&gt;&lt;a href="http://acquia.com/products-services/drupal-commons"&gt;Drupal Commons&lt;/a&gt;  Maintained by Acquia: This Profile provides social business software providing organizations with a complete solution for forming collaborative communities.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/openpublish"&gt;Open Publish&lt;/a&gt;: a packaged distribution of the popular open source social publishing platform, Drupal, that has been tailored to the needs of today's online publishers and Newspaper companies.&lt;br /&gt;&lt;br /&gt;Related Links:&lt;br /&gt;&lt;a href="http://www.lullabot.com/articles/5-step-drupal-distributions"&gt;http://www.lullabot.com/articles/5-step-drupal-distributions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lullabot.com/podcasts/lullabot-podcast-75-drupal-distributions-and-features"&gt;http://www.lullabot.com/podcasts/lullabot-podcast-75-drupal-distributions-and-features&lt;/a&gt;&lt;br /&gt;&lt;a href="http://buytaert.net/drupal-distributions"&gt;http://buytaert.net/drupal-distributions&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Business models around installation profiles:&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://buytaert.net/on-business-models-for-drupal-distributions" style="color: #0065cc;" target="_blank"&gt;http://buytaert.net/&lt;wbr&gt;&lt;/wbr&gt;on-business-models-for-drupal-&lt;wbr&gt;&lt;/wbr&gt;distributions&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Acquia partner ship programs around Drupal distributions:&amp;nbsp;&lt;a href="http://acquia.com/blog/drupal-software-publishing" style="color: #0065cc;" target="_blank"&gt;http://acquia.&lt;wbr&gt;&lt;/wbr&gt;com/blog/drupal-software-&lt;wbr&gt;&lt;/wbr&gt;publishing&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-2650202826788578373?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/2650202826788578373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/11/drupals-installation-profiles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/2650202826788578373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/2650202826788578373'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/11/drupals-installation-profiles.html' title='Drupal&apos;s Installation Profiles'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cG31REGLUTw/TO6SzQ29MxI/AAAAAAAAAiw/QxPfa_-JSVw/s72-c/Drupal+Profile.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-199026888189041221</id><published>2010-11-23T20:32:00.000-08:00</published><updated>2010-11-23T23:23:16.171-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='custom modules'/><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='durpal'/><title type='text'>Architecting a solution in Drupal</title><content type='html'>Architecting a solution in Drupal is not always straight forward. The main parameters that are key to a well Architected solution in Drupal are:&lt;br /&gt;&lt;br /&gt;1. Understanding of Drupal&lt;br /&gt;2. Maintainability&lt;br /&gt;3. Performance&lt;br /&gt;4. Working with Open source&lt;br /&gt;&lt;br /&gt;Understanding Drupal's architecture and functionality is a key in architecting a solution in Drupal. I guess to leverage any technology a deep understanding of how the technology functions is must to use it optimally.&lt;br /&gt;&lt;br /&gt;Main aspects of Maintainability &lt;br /&gt;&lt;br /&gt;1. Use of well maintained modules and Plugins&lt;br /&gt;2. Minimize configuration and move as much to code as possible, anything in code can be version controlled&lt;br /&gt;3. Custom modules should be simplified elements, in sink with Drupals architecture&lt;br /&gt;- Identifying the configuration parameters&lt;br /&gt;- Use of Drupal Hooks and Drupal functionality&lt;br /&gt;- Separating the Theme and the coding Layer&lt;br /&gt;- Following Drupal's coding standards&lt;br /&gt;&lt;br /&gt;The result of a well written and maintainable code should be that any Drupal programmer can pick up the module and start working with it.&lt;br /&gt;&lt;br /&gt;Main aspects of Performance are&lt;br /&gt;&lt;br /&gt;1. Database design: &lt;br /&gt;2. Optimizing the Queries&lt;br /&gt;3. Building of custom caching layer or efficient use of Drupal's Caching mechanism&lt;br /&gt;4. Using appropriate technologies to make do for mysql's deficiencies - like using Apache Solr for Search&lt;br /&gt;5. Server side Performance enhancements&lt;br /&gt;&lt;br /&gt;Working with Open source&lt;br /&gt;&lt;br /&gt;Need to be able to leverage the community to give and find solutions.&lt;br /&gt;You have an opportunity to learn from the solutions used by similar interested communities and their real time experience, which could also play a role in the architecture of your solution.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A Related and interesting Blog on Evaluating Drupal Modules by my colleague: read on at &lt;a href="http://rajeev-kottayil.blogspot.com/2010/10/evaluating-drupal-modules.html"&gt;http://rajeev-kottayil.blogspot.com/2010/10/evaluating-drupal-modules.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-199026888189041221?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/199026888189041221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/11/arhitecting-solution-in-drupal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/199026888189041221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/199026888189041221'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/11/arhitecting-solution-in-drupal.html' title='Architecting a solution in Drupal'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-8102887472703413024</id><published>2010-08-25T21:32:00.000-07:00</published><updated>2010-12-27T08:36:46.311-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Drupal 7'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Drupal 7 and it’s Extremely friendly and Intuitive Admin interface</title><content type='html'>What's in Drupal 7? Most definitely an extremely friendly and Intuitive Admin Interface!&lt;br /&gt;&lt;br /&gt;My first impressions of Drupal 7 as Drupal Admin:&lt;br /&gt;&lt;br /&gt;1. Extremely friendly and Intuitive Admin interface!&lt;br /&gt;2. More Trendy: Extensive use of Jquery, a very interactive design&lt;br /&gt;3. Navigation: Multiple Navigation points&lt;br /&gt;&lt;br /&gt;Improved and Multiple Navigation points like: &lt;br /&gt;&lt;br /&gt;1. Tool Bar (The Admin menu in Drupal 6)&lt;br /&gt;2. Dashboard&lt;br /&gt;3. Shortcuts and &lt;br /&gt;4. Contextual links!&lt;br /&gt;5. Admin Interface with additional TAB interface&lt;br /&gt;6. Use of Overlay to display information&lt;br /&gt;7. Vertical tabs in the content edit interface&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some Key Functionality in Drupal 7 core:&lt;br /&gt;&lt;br /&gt;1. Better media handling - Image filed and Image cache is in Core&lt;br /&gt;2. Custom content types in core&lt;br /&gt;3. WYSIWYG Editor&lt;br /&gt;4. Better Performance&lt;br /&gt;5. Better tools to structure/organize content&lt;br /&gt;6. Basic Views like module&lt;br /&gt;&lt;br /&gt;Also in Core implies all these will be maintained by the Core team and be available with Drupal releases! &lt;br /&gt;&lt;br /&gt;Reference Links:&lt;br /&gt;1. &lt;a href="http://drupal.org/node/361112"&gt;Creating Drupal 7.x modules&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://drupal.org/theme-guide/6"&gt;Theming Drupal 6 and 7&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://drupal.org/update/theme/6/7"&gt;Converting 6.x themes to 7.x&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://drupal.org/node/394070"&gt;Converting 6.x modules to 7.x - Categorical&lt;/a&gt;&lt;br /&gt;5. &lt;a href="http://drupal.org/node/719612"&gt;Menu path changes from 6.x to 7.x&lt;/a&gt;&lt;br /&gt;6. &lt;a href="http://pingv.com/blog/a-peek-at-drupal-7-theme-system-changes"&gt;A peek at Drupal 7 theme system changes&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-8102887472703413024?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/8102887472703413024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/08/drupal-7-and-its-extremely-friendly-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8102887472703413024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8102887472703413024'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/08/drupal-7-and-its-extremely-friendly-and.html' title='Drupal 7 and it’s Extremely friendly and Intuitive Admin interface'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-9039280621019869307</id><published>2010-02-18T08:09:00.000-08:00</published><updated>2010-02-19T07:51:20.141-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='contribute-drupal'/><title type='text'>Contribute to Drupal</title><content type='html'>Contributing to &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; could be fun! It amazing the way Drupalers collaborate online to as much as have &lt;a href="http://drupal.org"&gt;Drupal&lt;/a&gt;, &lt;a href="http://drupal.org/project/modules"&gt;Drupal's contib modules&lt;/a&gt;, and now the &lt;a href="http://drupal.org/node/704062"&gt;Drupal redesign&lt;/a&gt;. The power of Drupal, to promote Drupal! &lt;br /&gt;&lt;br /&gt;Working in the community and all of your sudden your horizon seems extended, you are connected with people you have never met before. You are working together as though you knew each other for so long. &lt;br /&gt;&lt;br /&gt;Being with people brings you joy. It's amazing to discover the joy of being with them online! I am thoroughly enjoying collaborating online for Drupal.&lt;br /&gt;&lt;br /&gt;The different channels you can collaborate on:&lt;br /&gt;IRC:&lt;a href="http://drupal.org/irc"&gt; Drupal in IRC&lt;/a&gt; and &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/16"&gt;Firefox addon for IRC&lt;/a&gt;, &lt;a href="http://drupal.org/forum"&gt;Discussions online&lt;/a&gt;, &lt;a href=" http://groups.drupal.org/"&gt;Groups&lt;/a&gt;, &lt;a href="http://groups.google.com/"&gt;Google groups&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Join and contribute, Check out: &lt;a href=" http://groups.drupal.org/drupalorg-redesign-implementers"&gt;Drupal Redesign Implementers page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-9039280621019869307?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/9039280621019869307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/02/contribute-to-drupal.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/9039280621019869307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/9039280621019869307'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/02/contribute-to-drupal.html' title='Contribute to Drupal'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-3436187950517746721</id><published>2010-01-18T01:54:00.000-08:00</published><updated>2010-01-26T20:34:19.500-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal-views'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><title type='text'>DRUPAL VIEWS - Important points and Optimization</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_cG31REGLUTw/S1QrAiF9i0I/AAAAAAAAAcU/L3urF-c4n7c/s1600-h/view-sample.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://3.bp.blogspot.com/_cG31REGLUTw/S1QrAiF9i0I/AAAAAAAAAcU/L3urF-c4n7c/s320/view-sample.JPG" width="320" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;/div&gt;&lt;a href="http://drupal.org/project/views"&gt;Drupal Views&lt;/a&gt; is an extremely useful Query building tool! &lt;a href="http://drupal.org/project/views"&gt;Drupal Views&lt;/a&gt; brings with it  a great amount of flexibility to the way existing content can be displayed on a particular website.&lt;br /&gt;&lt;br /&gt;This article highlights some important points to remember before creating a &lt;a href="http://drupal.org/project/views"&gt;Drupal View&lt;/a&gt;. The  concepts are explained with respect to a News paper site as example. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Basic elements of a &lt;a href="http://drupal.org/project/views"&gt;Drupal Views&lt;/a&gt; include: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Base Tables - &lt;/b&gt;Node tables, Comment tables, user tables, etc.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Fields&lt;/b&gt; - information that gets displayed &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Filters&lt;/b&gt; - the criteria based on which the information is querried &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Sort&lt;/b&gt; criteria - the criteria based on which the content is sorted and displayed. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Arguments&lt;/b&gt; - variable filters that can be changed dynamically when the view is constructed. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;'&lt;b&gt;Relationship&lt;/b&gt; - integrating with custom tables&lt;b&gt; &lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;POINTS to remember: &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Reuse Views and use FILTERS as ARGUMENTS - Using Filters as Arguments lets the view display contextual content. In a Newspaper site the same view can be used  multiple times for various taxonomies, taxonomy being an argument. The BLOB size of the VIEWS TABLE is very large, reducing the number of views helps in maintainability and in Performance by reducing the View table size. A couple of use cases of Arguments in Views for a Newspaper site: &lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;In the home page of a Newspaper a Single view with multiple sub channels - a single view can be used, the result obtained by passing the corresponding sub channel taxonomy can be displayed sequentially.&lt;/li&gt;&lt;li&gt;In an Article page, the article tags can be passed as arguments to the same view to display related content based on that particular article.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Typical filters to include are&amp;nbsp;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;NODE type == Published,&amp;nbsp;&lt;/li&gt;&lt;li&gt;Node Article Type,&amp;nbsp;&lt;/li&gt;&lt;li&gt;Node Created date.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Always define what should happen if a view returns a 'Null value'. Typically define a message/page&amp;nbsp; it should take you to and display a specific message. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;While defining Arguments, define what should happen if there were no arguments passed to the view. This could be 'All values' or a Page not found, etc. &lt;/li&gt;&lt;li&gt;UNDERSTANDING the query associated with a VIEW: In Drupal 6 you can Preview a VIEW while you are still building it. In Drupal it's so easy to construct a view and most of the time take it for granted. Below are some key points that will help you understand the View Query and give some pointers as to what to look for.&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Pager Query - In this case there are 2 Queries that run - one to count the total number of records and build the pager, second the Query to obtain the first set of records for that page.&lt;br /&gt;For a block/ page view with a count or limit there is only one Query. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Based on the fields displayed, the filters selected and the sort criteria defined, the JOINS in the Query will be constructed. Some examples:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;If the filter is CCK field there will be a INNERJOIN to the corresponding CCK table &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: navy;"&gt;SELECT node.nid AS nid,node.title AS node_title,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: navy;"&gt; node_data_field_article_date.field_article_date_value AS node_data_field_article_date_field_article_date_value,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: navy;"&gt; node.sticky AS node_sticky,   node_weight.sticky AS node_weight_sticky&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: navy;"&gt; FROM node node &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: navy;"&gt; LEFT JOIN term_node term_node ON node.vid = term_node.vid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: navy;"&gt; &lt;span style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: yellow none repeat scroll 0% 0%;"&gt;LEFT JOIN content_field_article_date node_data_field_article_date ON node.vid = node_data_field_article_date.vid&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: navy;"&gt; LEFT JOIN node node_weight ON node.nid = node_weight.nid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: navy;"&gt; WHERE (node.type = 'article') AND (node.status &amp;lt;&amp;gt; 0) AND (term_node.tid = 4)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: navy;"&gt; ORDER BY node_data_field_article_date_field_article_date_value DESC, node_sticky ASC, node_weight_sticky DESC&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;For a SORT criteria as most commented the INNERJOIN to the comment stats realted table &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;SELECT node.nid AS nid, node.title AS node_title,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; node_comment_statistics.comment_count AS    node_comment_statistics_comment_count&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; FROM node node &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; &lt;span style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: yellow none repeat scroll 0% 0%;"&gt;INNER JOIN node_comment_statistics node_comment_statistics ON node.nid = node_comment_statistics.nid&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; WHERE (node.type in ('article')) AND (node_comment_statistics.comment_count &amp;gt; 0) AND (node.status &amp;lt;&amp;gt; 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; ORDER BY node_comment_statistics_comment_count DESC&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;li&gt;OPTIMIZING the Queries: &lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Make sure all the fields that are used for SORTING are indexed, especially if it is a custom table.&lt;/li&gt;&lt;li&gt;If there is an explicit limit to the VIEW please define the same. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;If  a part of the VIEW cache-able , then split the VIEW into Cache-able element that is stored in a cache table and Dynamic parts as a separate view. &lt;/li&gt;&lt;li&gt;Use VIEWS' inbuilt time based caching mechanisms, or write custom cache code using Drupal's cache get and Cache set functions.&lt;/li&gt;&lt;li&gt;The Query optimization is based on which tables are Large. Typically in Drupal some of the Large tables are the Node related tables, Comment related tables, Taxonomy related table, Files related tables, User related tables. This also depends on the site and it's purpose.&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;EXAMPLE of a slow Query - Option 2:&lt;br /&gt;&lt;br /&gt;In the case of a large Node table - Option 1 will take less time to execute as the 'Where' clause filters the IDs in the Node table first and then filters based on the tid, which is stored in another table.&lt;br /&gt;&lt;br /&gt;VIEW Query Option1: &lt;br /&gt;&lt;meta content="text/html; charset=utf-8" equiv="Content-Type"&gt;&lt;/meta&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 11" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 11" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Cshyamala%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;style&gt;&lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} pre 	{margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Courier New"; 	mso-fareast-font-family:"Times New Roman";} span.EmailStyle16 	{mso-style-type:personal; 	mso-style-noshow:yes; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt; 	font-family:Arial; 	mso-ascii-font-family:Arial; 	mso-hansi-font-family:Arial; 	mso-bidi-font-family:Arial; 	color:navy;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt;&lt;/style&gt; &lt;br /&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;SELECT node.nid AS nid,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   node.title AS node_title,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   node_data_field_article_date.field_article_date_value AS node_data_field_article_date_field_article_date_value,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   node.sticky AS node_sticky,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   node_weight.sticky AS node_weight_sticky&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; FROM node node &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; LEFT JOIN term_node term_node ON node.vid = term_node.vid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; LEFT JOIN content_field_article_date node_data_field_article_date ON node.vid = node_data_field_article_date.vid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; LEFT JOIN node node_weight ON node.nid = node_weight.nid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; &lt;span style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: yellow none repeat scroll 0% 0%;"&gt;WHERE (node.type = 'article') AND (node.status &amp;lt;&amp;gt; 0) AND (term_node.tid = 4)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   ORDER BY node_data_field_article_date_field_article_date_value DESC, node_sticky ASC, node_weight_sticky DESC&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="color: navy;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;br /&gt;VIEW Query Option 2: &lt;br /&gt;&lt;pre&gt;&lt;span style="color: navy; font-family: Arial;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;SELECT node.nid AS nid,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   node.title AS node_title,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   node_data_field_article_date.field_article_date_value AS node_data_field_article_date_field_article_date_value,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   node.sticky AS node_sticky,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   node_weight.sticky AS node_weight_sticky&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; FROM node node &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; LEFT JOIN term_node term_node ON node.vid = term_node.vid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; LEFT JOIN content_field_article_date node_data_field_article_date ON node.vid = node_data_field_article_date.vid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; LEFT JOIN node node_weight ON node.nid = node_weight.nid&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt; &lt;span style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: yellow none repeat scroll 0% 0%;"&gt;WHERE (term_node.tid = 4) AND (node.type = 'article') AND (node.status &amp;lt;&amp;gt; 0)&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;   ORDER BY node_data_field_article_date_field_article_date_value DESC, node_sticky ASC, node_weight_sticky DESC&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;u&gt; &lt;br /&gt;&lt;br /&gt;Other Resources on Views &lt;br /&gt;&lt;br /&gt;&lt;/u&gt;VIEWS Handbook page:&lt;a href="http://drupal.org/node/109604"&gt; http://drupal.org/node/109604&lt;/a&gt; &lt;br /&gt;VIEWS useful links: &lt;a href="http://www.lullabot.com/articles/hacking-views-part-1-basic-concepts"&gt;http://www.lullabot.com/articles/hacking-views-part-1-basic-concepts&lt;/a&gt; &lt;br /&gt;VIEWS 2 - Building Views with Fivestar  and Voting API modules: &lt;a href="http://www.lullabot.com/videocast/building-views-fivestar-and-votingapi"&gt;http://www.lullabot.com/videocast/building-views-fivestar-and-votingapi&lt;/a&gt; &lt;br /&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt; &lt;br /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-3436187950517746721?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/3436187950517746721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/01/drupal-views-important-points-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3436187950517746721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3436187950517746721'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/01/drupal-views-important-points-and.html' title='DRUPAL VIEWS - Important points and Optimization'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_cG31REGLUTw/S1QrAiF9i0I/AAAAAAAAAcU/L3urF-c4n7c/s72-c/view-sample.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-4911351065327185367</id><published>2010-01-09T17:32:00.000-08:00</published><updated>2010-01-10T21:01:33.494-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introduction'/><category scheme='http://www.blogger.com/atom/ns#' term='FSF'/><category scheme='http://www.blogger.com/atom/ns#' term='FSFTN'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='beginners'/><title type='text'>An Introduction to Drupal</title><content type='html'>An Introduction to Drupal - presented to students from engineering colleges at &lt;a href="http://fsftn.org/"&gt;Free Software Foundation, Tamil Nadu &lt;/a&gt;meet at IFMR, Chennai. I was so excited to present Drupal to a bunch of FSF students, who where involved in presenting various Free softwares they were working on. I followed my presentation with a short Demo of installing Drupal.&lt;br /&gt;&lt;br /&gt;Presentation path&lt;br /&gt;&lt;ul&gt;&lt;li&gt;History of Drupal &lt;/li&gt;&lt;li&gt;Principles of Drupal &lt;/li&gt;&lt;li&gt;Drupal’s structure &lt;/li&gt;&lt;li&gt;Key terminologies in Drupal &lt;/li&gt;&lt;li&gt;Trends in Portals – Web 2.0 &amp;amp; Web 3.0 &lt;/li&gt;&lt;li&gt;Showcase websites in Drupal &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="width:425px;text-align:left" id="__ss_2873658"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/shyamdrupal/introduction-to-drupal-2873658" title="Introduction To Drupal"&gt;Introduction To Drupal&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=introductiontodrupal-100109192908-phpapp01&amp;amp;stripped_title=introduction-to-drupal-2873658"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=introductiontodrupal-100109192908-phpapp01&amp;amp;stripped_title=introduction-to-drupal-2873658" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/shyamdrupal"&gt;rajaram shyamala&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden"&gt;&lt;!--Session data--&gt;&lt;input onclick="jsCall();" id="jsProxy" type="hidden"&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-4911351065327185367?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/4911351065327185367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/01/introduction-to-drupal.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4911351065327185367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4911351065327185367'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2010/01/introduction-to-drupal.html' title='An Introduction to Drupal'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-4757860527095100763</id><published>2009-12-29T08:31:00.000-08:00</published><updated>2009-12-29T08:31:01.639-08:00</updated><title type='text'>Drupal as an open source platform and its relevance to the Librarians</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;Abstract:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;The focus would be to provide an overview and introduction to the key principles of Drupal as an open source platform and its relevance to the Librarians in terms of creating the next level of knowledge sharing and management options.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;The main points that I will cover are:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;(i)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt; An introduction to Drupal as an Open Source Solution &amp;amp; Content Management System.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;The role Drupal can play in building a strong, intuitive and user friendly&amp;nbsp; interfaces&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;(ii) &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;Drupal's relevance to Librarians and Library management in today’s context of Semantic web. &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;(iii) Drupal's capabilities in helping Librarians reach out to their community and bring them together. &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;; font-size: 10pt;"&gt;Drupal will open out the Knowledge repositories and let visitors to interact with it in new and different ways. The Libraries can then leverage the social publishing capabilities of Drupal for commenting, social tagging, personalized collections, mashups and a wide variety of other Web 2.0 features.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="__ss_2793343" style="text-align: left; width: 425px;"&gt;&lt;a href="http://www.slideshare.net/shyamdrupal/drupal-for-libraries" style="-x-system-font: none; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px 0pt 3px; text-decoration: underline;" title="Drupal for Libraries"&gt;Drupal for Libraries&lt;/a&gt;&lt;object height="355" style="margin: 0px;" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=drupallibrary-091229102810-phpapp02&amp;amp;stripped_title=drupal-for-libraries" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=drupallibrary-091229102810-phpapp02&amp;amp;stripped_title=drupal-for-libraries" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;"&gt;View more &lt;a href="http://www.slideshare.net/" style="text-decoration: underline;"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/shyamdrupal" style="text-decoration: underline;"&gt;shyamdrupal&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-4757860527095100763?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/4757860527095100763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2009/12/drupal-as-open-source-platform-and-its.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4757860527095100763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4757860527095100763'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2009/12/drupal-as-open-source-platform-and-its.html' title='Drupal as an open source platform and its relevance to the Librarians'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-848344640283859985</id><published>2009-08-11T08:00:00.000-07:00</published><updated>2009-08-11T08:18:13.596-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Performance and Drupal</title><content type='html'>&lt;p&gt;As we worked towards some exciting performance gains, some of our learning&lt;br /&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Use Drupal's Page Cache&lt;/li&gt;&lt;li&gt;Run &lt;a href="http://wiki.mysqltuner.com/MySQLTuner"&gt;Mysql tuner&lt;/a&gt; to understand how Mysql responds to your site&lt;/li&gt;&lt;li&gt;We never had in our page/panel or block  a code rendered directly from a view, all our view results were cached.  The lullabot article on caching, &lt;a href="http://www.lullabot.com/articles/a_beginners_guide_to_caching_data" rel="nofollow"&gt;The Beginners guide to caching &lt;/a&gt;could be a very good starting point.&lt;/li&gt;&lt;li&gt;Do not panic by large no of queries, the queries with longer execution time are critical - we focused on the ones on our large tables - NODE, session, user, log, taxonomy tables&lt;/li&gt;&lt;li&gt;Queries with inner joins or distinct clause were also marked and reviewed&lt;/li&gt;&lt;li&gt;We had large benefits by restricting the log size, periodic clearing of the session tables&lt;/li&gt;&lt;li&gt; We did add a patch for Drupal look up path and url redirect, will have that appended to this list.&lt;/li&gt;&lt;li&gt;We moved from Drupal search to Google search!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;USE of PHP accelerator is a must&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Checkout:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Server tuning considerations: &lt;a href="http://drupal.org/node/2601"&gt;http://drupal.org/node/2601&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href="http://2bits.com/articles/performance-logging-module-log-performance-statistics-drupal.html"&gt;http://2bits.com/articles/performance-logging-module-log-performance-statistics-drupal.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blamcast.net/articles/speed-up-drupal"&gt;http://blamcast.net/articles/speed-up-drupal&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://buytaert.net/drupal-performance"&gt;http://buytaert.net/drupal-performance&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-848344640283859985?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/848344640283859985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2009/08/performance-and-drupal.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/848344640283859985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/848344640283859985'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2009/08/performance-and-drupal.html' title='Performance and Drupal'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-8308985311721945500</id><published>2009-02-23T20:02:00.000-08:00</published><updated>2009-02-23T20:24:18.598-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>Checklist for any drupal site  LIST 1</title><content type='html'>&lt;u&gt;While creating the website:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. List modules used &lt;br /&gt;2. Do not write code in block or page, use custom module&lt;br /&gt;3. Always create code for no script when using java script &lt;br /&gt;4. Use &lt;a href="http://drupal.org/project/devel"&gt;Devel&lt;/a&gt; to understand the queries in the website a must especially for home page&lt;br /&gt;5. Check &lt;a href="http://developer.yahoo.com/yslow/"&gt;Y slow&lt;/a&gt; performance parameters&lt;br /&gt;6. Use &lt;a href="http://drupal.org/project/captcha"&gt;captcha&lt;/a&gt;&lt;br /&gt;7. SEO&lt;br /&gt;&lt;br /&gt;      a) Seo site map validate urls (make them meaningful :))&lt;br /&gt;      b) Add &lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt;, to enable tracking&lt;br /&gt;      c)&lt;a href="http://drupal.org/project/nodewords"&gt; meta tag  module&lt;/a&gt;, to add meaningful meta information&lt;br /&gt;      d) xml site map &lt;br /&gt;      e) h1 tag&lt;br /&gt;      f) introduce image naming convention&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Pre Launch:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;8.  Enable HTML caching  for anonymous users&lt;br /&gt;9. Load test the website&lt;br /&gt;10. Check error log in staging&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Before Launch:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;11. Install PHP accelerator&lt;br /&gt;12. Configure Auto log out and session time&lt;br /&gt;13. Run cron for archives &lt;br /&gt;14. Schedule cron&lt;br /&gt;15. Configure error log not more than a week&lt;br /&gt;16. Schedule back up of database, particularly the log table&lt;br /&gt;17. Admin password protect&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-8308985311721945500?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/8308985311721945500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2009/02/checklist-for-any-drupal-site.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8308985311721945500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8308985311721945500'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2009/02/checklist-for-any-drupal-site.html' title='Checklist for any drupal site  LIST 1'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-7573437313069298758</id><published>2009-01-16T07:32:00.001-08:00</published><updated>2009-01-16T07:41:41.718-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='birthday'/><title type='text'>Happy Birthday from Chennai, India!</title><content type='html'>I am so excited Drupal turn's 8 Today. Happy Birthday!&lt;br&gt;&lt;br /&gt;&lt;a href="http://drupal.org/node/359649"&gt;&lt;img src="http://drupal.org/files/happy-8th-birthday-drupal.png" alt="Drupal's 8th birthday!" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can do so much with Drupal.&lt;br /&gt;I love Drupal :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-7573437313069298758?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/7573437313069298758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2009/01/happy-birthday-from-india_16.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7573437313069298758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7573437313069298758'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2009/01/happy-birthday-from-india_16.html' title='Happy Birthday from Chennai, India!'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-7198063395659827894</id><published>2008-12-03T20:27:00.000-08:00</published><updated>2008-12-03T21:39:38.954-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redesign'/><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>I am in love with open source again</title><content type='html'>It's awesome the way people collaborate and share their views and ideas in Open source. Every one from totally different backgrounds with only Drupal as their commonality are discussing at Drupal redesign iteration 9: &lt;a href="http://groups.drupal.org/node/17106"&gt;http://groups.drupal.org/node/17106&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://drupal.markboultondesign.com/iteration10/homepage_notloggedin.html"&gt;http://drupal.markboultondesign.com/iteration10/homepage_notloggedin.html&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;The best part of the discussion is everyone out there actually gets to read and evaluate others perspective without prejudice! To have such discussions in a real time environment with people face to face, having each one to listen to the other would be such a challenge. It's so beautiful to just watch this happen, let alone be a part of it. I just love the way we can collaborate online, I love Open source :)!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-7198063395659827894?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/7198063395659827894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/12/i-am-in-love-with-open-source-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7198063395659827894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7198063395659827894'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/12/i-am-in-love-with-open-source-again.html' title='I am in love with open source again'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-1724878061968312435</id><published>2008-11-24T21:02:00.000-08:00</published><updated>2009-02-23T21:00:54.865-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='groups'/><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='multisite'/><title type='text'>Drupal in Education:</title><content type='html'>There is a need for Schools and Colleges to have a Dynamic website. This can be very easily achieved using some basic modules in Drupal&lt;br /&gt;&lt;br /&gt;A broad list of features any educational institute would require and their associated modules /  Drupal configuration. &lt;br /&gt;&lt;br /&gt;I) Roles:  &lt;i&gt;( Define using Drupal’s core access control functionality)&lt;/i&gt;&lt;br /&gt;1. Admin&lt;br /&gt;2. Teacher&lt;br /&gt;3. Student&lt;br /&gt;4. Visitor&lt;br /&gt;&lt;br /&gt;II) Various Content and Content Categories &lt;i&gt; - use Taxonomy to define the categories and CCK for different types of content&lt;/i&gt;&lt;br /&gt;1. Announcements – Just another content type&lt;br /&gt;2. Marketing content: - Static content&lt;br /&gt;About us&lt;br /&gt;Contact us&lt;br /&gt;Feedback, etc.&lt;br /&gt;&lt;br /&gt;III) Galleries – I love &lt;i&gt;brilliant gallery &lt;/i&gt;and the effect that goes with it. &lt;br /&gt;&lt;br /&gt;IV)  Video – use &lt;i&gt;video CCK with FFMpeg conversion tool&lt;/i&gt;, size of videos is always a problem and costs bandwidth as well. So using FFmpeg, we can configure the videos to get optimized as flash files. &lt;br /&gt;&lt;br /&gt;V) Features for Registered users (parents/teachers/students)&lt;br /&gt;&lt;br /&gt;1. Student id creation (bulk upload)&lt;i&gt; og&lt;/i&gt;, &lt;br /&gt;2. Class wise Home work (upload) –&lt;i&gt; CCK and og&lt;/i&gt;&lt;br /&gt;3. Class wise Events (online event registration)&lt;i&gt; og - event module&lt;/i&gt;&lt;br /&gt;4. Contact teachers – &lt;i&gt;contact us page&lt;/i&gt;&lt;br /&gt;5. Personalized Dashboards –&lt;i&gt; Use views&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;br /&gt;CCK:&lt;br /&gt;&lt;a href="http://drupal.org/handbook/modules/cck"&gt;http://drupal.org/handbook/modules/cck&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/cck"&gt;http://drupal.org/project/cck&lt;/a&gt;&lt;br /&gt;Views:&lt;br /&gt;&lt;a href="http://drupal.org/node/109604"&gt;http://drupal.org/node/109604&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/views"&gt;http://drupal.org/project/views&lt;/a&gt;&lt;br /&gt;Taxonomy:&lt;br /&gt;&lt;a href="http://drupal.org/node/299"&gt;http://drupal.org/node/299&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/video_cck"&gt;&lt;/a&gt;&lt;br /&gt;Video and FFMpeg modules:&lt;br /&gt;&lt;a href="http://drupal.org/project/flashvideo"&gt;http://drupal.org/project/flashvideo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/video_cck"&gt;http://drupal.org/project/video_cck&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/emfield"&gt;http://drupal.org/project/emfield&lt;/a&gt;&lt;br /&gt;Gallery:&lt;br /&gt;&lt;a href="http://drupal.org/project/brilliant_gallery"&gt;http://drupal.org/project/brilliant_gallery&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/gallery"&gt;http://drupal.org/project/gallery&lt;/a&gt;&lt;br /&gt;Organic Groups:&lt;br /&gt;&lt;a href="http://drupal.org/handbook/modules/og"&gt;http://drupal.org/handbook/modules/og&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/og"&gt;http://drupal.org/project/og&lt;/a&gt;&lt;br /&gt;Other useful modules:&lt;br /&gt;&lt;a href="http://drupal.org/project/pathauto"&gt;http://drupal.org/project/pathauto&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/project/front"&gt;http://drupal.org/project/front&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some interesting articles and podcasts:&lt;br /&gt;&lt;br /&gt;1. Using Drupal in Education, Training, and (Some) Next Steps&lt;br /&gt;At:&lt;a href=" http://www.funnymonkey.com/book-training-next-steps"&gt; http://www.funnymonkey.com/book-training-next-steps&lt;/a&gt;&lt;br /&gt;You can also download &lt;a href="http://funnymonkey.com/come-and-get-it"&gt;DrupalEd&lt;/a&gt;, a pre configured Drupal installation for Educational institutions.&lt;br /&gt;&lt;br /&gt;2. Jeff Robbins talks to Bill Fitzgerald of FunnyMonkey about how Drupal is being used in universities, high schools, and other educational institutions at &lt;br /&gt;&lt;a href="http://www.lullabot.com/audiocast/podcast-66-bill-fitzgerald-education"&gt;http://www.lullabot.com/audiocast/podcast-66-bill-fitzgerald-education&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Groups to follow:&lt;br /&gt;&lt;a href="http://groups.drupal.org/drupal-education"&gt;http://groups.drupal.org/drupal-education&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-1724878061968312435?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/1724878061968312435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/11/drupal-in-education.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1724878061968312435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1724878061968312435'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/11/drupal-in-education.html' title='Drupal in Education:'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6239736884476292818</id><published>2008-11-19T20:23:00.000-08:00</published><updated>2009-02-23T21:01:39.161-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='groups'/><category scheme='http://www.blogger.com/atom/ns#' term='multisite'/><title type='text'>Multisite vs OG concept</title><content type='html'>&lt;a href="http://drupal.org/project/og"&gt;Organic Groups module &lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;Enable users to create and manage their own 'groups'. Each group can have subscribers, and maintains a group home page where subscribers communicate amongst themselves. They do so by posting the usual node types: blog, story, page, etc. A block is shown on the group home page which facilitates these posts. The block also provides summary information about the group.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://drupal.org/getting-started/6/install/multi-site"&gt;Multisite installation in drupal&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Multi-site is a very powerful feature in large sites or hosting operations but is often mis-understood. Multi-site is designed as a way to share the same code base for multiple different Drupal based sites. These sites are separate and do not share content or administration. Multi-site just helps with managing the code base, shared themes and modules.&lt;br /&gt;&lt;br /&gt;A single Drupal installation can host several Drupal-powered sites, each with its own individual configuration.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Comparison of OG and a Multi site configuration for some parameters:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Speed and Performance of individual sites&lt;/u&gt;&lt;br /&gt;Multisite: Very good&lt;br /&gt;OG: Need to cache queries to improve performance&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Size of database&lt;/u&gt;&lt;br /&gt;Multisite: No of tables in the Database incremental by the number of site specific tables. (Drupal allows for some tables to be shared across sites, hlep us configure common functionality if any.)&lt;br /&gt;OG: Incremental only by an entry in the node table for each of the of content created,and an entry in the group – node access mapping table.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Managing change&lt;/u&gt;&lt;br /&gt;Multisite:Changes in database has to be done across each of the site specific tables - This will be a challenge&lt;br /&gt;OG: Easier to manage change, as all tables are shared.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;The concept of OG is good for inter-related sites, when there are a lot of common functionalities across these sites.The decision of Multisite vs OG has to be based on the no of multisites that need to be created and the functionlaities across these sites. &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;No of sites using OG:&lt;br /&gt;&lt;a href=" http://teamsugar.com"&gt;&lt;br /&gt;http://teamsugar.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mailfriends.com"&gt;http://www.mailfriends.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.fastcompany.com"&gt;http://www.fastcompany.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://groups.drupal.og"&gt;http://groups.drupal.og&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6239736884476292818?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6239736884476292818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/11/multisite-vs-og-concept.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6239736884476292818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6239736884476292818'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/11/multisite-vs-og-concept.html' title='Multisite vs OG concept'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-3959025847026443015</id><published>2008-11-06T02:08:00.000-08:00</published><updated>2008-11-06T02:15:45.923-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal meet'/><category scheme='http://www.blogger.com/atom/ns#' term='chennai'/><title type='text'>Chennai meet Nov 2008</title><content type='html'>Checkout the happenings at &lt;a href="http://groups.drupal.org/node/16429"&gt;http://groups.drupal.org/node/16429&lt;/a&gt;. New members: Marco, Thany and Krishnakumar, bring in more energy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-3959025847026443015?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/3959025847026443015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/11/chennai-meet-nov-2008.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3959025847026443015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3959025847026443015'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/11/chennai-meet-nov-2008.html' title='Chennai meet Nov 2008'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-5884447785814765652</id><published>2008-10-29T03:28:00.000-07:00</published><updated>2008-10-29T09:28:57.311-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='static file server'/><title type='text'>Static File Servers and Drupal</title><content type='html'>Any call to a Drupal site has two aspects associated with it:&lt;br /&gt;&lt;br /&gt;The Dynamic HTML that gets created on access of the website + the static elements (like css, js and other images) that are embedded in it.&lt;br /&gt;&lt;br /&gt;A request to the a website from a browser = Dynamic HTML call to the web server + one call each for every associated static element in the HTML to the same web server.&lt;br /&gt;&lt;br /&gt;The amount of memory required to serve a Dynamic request is much more than that of the static file requests. More over in Apache the same memory will be utilized to serve static files as well. To avoid this we can place all static files in a separate Web server and configure the this server to handle static requests. This will greatly improve the performance and scalability of a Drupal website.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;A Drupal site with lots of modules installed that handles a lot of data from the database can easily require 64M of memory per thread. This is a huge expenditure of memory compared to the 1-2M it takes to serve a static file. Since Apache recycles its worker threads, you end up in a situation where the same 64M monster that created the Drupal HTML is also used for serving a .jpg file. This is a huge waste of resources.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Refer: &lt;a href="http://www.lullabot.com/articles/using-lighttpd-static-file-server"&gt;http://www.lullabot.com/articles/using-lighttpd-static-file-server&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For a private server the needs are different. The static file become applicable for the images and css  and js files associated with HTML but for the main application we need to use Private files. Private files makes the file handling process itself dynamic, where in we will require to use PHP to identify permissions and the location of the files. This is handled by a separate menu call back in Drupal. We can not use static files for this purpose.  &lt;br /&gt;&lt;br /&gt;In this case we are looking at three approaches:&lt;br /&gt;&lt;br /&gt;1. To handle files to be placed in any physical directory (not in the root)within the same server &lt;br /&gt;&lt;br /&gt;2.  To handle files to be placed in any physical directory (not in the root) in a different server - here we are using the FTP protocol to access and place files in the file server. This is a custom code written by us.&lt;br /&gt;&lt;br /&gt;3.  To handle files to be placed in any physical directory (not in the root) in a different server - using Curl&lt;br /&gt;&lt;br /&gt;Questions that arise - Which of these are scalable? Which is most secure?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-5884447785814765652?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/5884447785814765652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/static-file-servers-and-drupal.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5884447785814765652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5884447785814765652'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/static-file-servers-and-drupal.html' title='Static File Servers and Drupal'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-4775103522329899984</id><published>2008-10-15T22:21:00.000-07:00</published><updated>2008-10-15T22:53:18.165-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='searchmonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='semantic'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><title type='text'>The Semantic web and Search</title><content type='html'>The &lt;a href="http://en.wikipedia.org/wiki/Semantic_Web"&gt;semantic web&lt;/a&gt; is a vision of information that is understandable by computers, so that they can perform more of the tedious work involved in finding, sharing and combining information on the web, closer to how a user would look for information. &lt;br /&gt;&lt;br /&gt;Achieving this would indeed awesome. Imagine the power on our searches. With all our websites having so much of information how the user could benefit from Semantic search. Dries article and what the SearchMonkey video demonstrates sums it all up! The trend in Searches today, read on ...&lt;br /&gt;&lt;br /&gt;Here is what Dries Buytaert says about Drupal, the semantic web and search&lt;br /&gt;&lt;blockquote&gt;What if instead of having a custom indexer designed just for Pivots we had a rich indexer with lots of meta information and semantic tagging.&lt;br /&gt;&lt;br /&gt;Here is another example. Imagine a standard Drupal node-type called 'job'. The fields in the job node-type would have RDF properties associated with them mapping to salary, duration, industry, location, and so on. Creating a new job posting on a Drupal site would generate RDFa that semantic search engines like Yahoo!'s SearchMonkey would pick up and the job would be included in their world-wide job database. &lt;a href="http://buytaert.net/drupal-the-semantic-web-and-search"&gt;Read more...&lt;/a&gt; &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='320' height='270' id='yfop'&gt;&lt;param name='movie' value='http://d.yimg.com/cosmos.bcst.yahoo.com/up/fop/embedflv/swf/fop.swf' /&gt;&lt;param name='flashvars' value='id=8243625&amp;shareEnable=1' /&gt;&lt;embed src='http://d.yimg.com/cosmos.bcst.yahoo.com/up/fop/embedflv/swf/fop.swf' width='320' height='270' name='yfop' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' flashvars='id=8243625&amp;shareEnable=1'&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;SearchMonkey is Yahoo! Search's new open platform.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; Using SearchMonkey, developers and site owners can use structured data to make Yahoo! Search results more useful and visually appealing, and drive more relevant traffic to their sites. &lt;a href="http://developer.yahoo.com/searchmonkey/"&gt;Read more...&lt;/a&gt; &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-4775103522329899984?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/4775103522329899984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/drupal-and-semantic-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4775103522329899984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4775103522329899984'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/drupal-and-semantic-web.html' title='The Semantic web and Search'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-1036866541549304502</id><published>2008-10-12T08:14:00.000-07:00</published><updated>2008-10-12T08:18:33.603-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='chennai'/><title type='text'>Nagarajan in Drupal Chennai</title><content type='html'>I am proud to announce that my colleague Nagarajan has started a Drupal Blog. He has expert knowledge in various aspects of Drupal! For a very informative nice article on Performance improvement guidelines for Drupal sites, visit: &lt;a href="http://nagarajan-drupal.blogspot.com/"&gt;http://nagarajan-drupal.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-1036866541549304502?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/1036866541549304502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/nagarajan-in-drupal-chennai.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1036866541549304502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1036866541549304502'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/nagarajan-in-drupal-chennai.html' title='Nagarajan in Drupal Chennai'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-1943910613084295982</id><published>2008-10-10T03:06:00.000-07:00</published><updated>2008-10-10T08:35:24.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='solr'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='tokenizers'/><category scheme='http://www.blogger.com/atom/ns#' term='apache-solr'/><title type='text'>Parameters in Apache Solr Schema.xml</title><content type='html'>Indexing  using Apache Solr:&lt;br /&gt;&lt;br /&gt;In the Schema.xml we can create various datatypes. Every datatype can be associated with one and only one Analyzer. The no of Data types and the associated Analyzers define how we want to index the content. We can have one Analyzer for each of the columns in our Database!&lt;br /&gt;&lt;br /&gt;1. The main DATA CLASSES:&lt;br /&gt;&lt;br /&gt;1.1 Text &lt;br /&gt;&lt;br /&gt;Class: Perdefined javaclasses to define the content datatype&lt;br /&gt;&lt;br /&gt;Sortmissinglast = “true” (a sort on this field will cause documents&lt;br /&gt;without the field to come after documents with the field )&lt;br /&gt;SortMissingFirst &lt;br /&gt;&lt;br /&gt;omitNorms= “true” &lt;br /&gt;omitNorms is set to true to omit the norms associated with  this field (this disables length normalization and index-time boosting for the field, and saves some memory).  Only full-text fields or fields that need an index-time boost need norms. &lt;br /&gt;&lt;br /&gt;1.2 Numeric:&lt;br /&gt;&lt;br /&gt;class="solr.IntField"  OR&lt;br /&gt;class="solr.SortableIntField"&lt;br /&gt;&lt;br /&gt;if you place a text inside a int field in the sortable type it will converted to an integer and can be sorted.&lt;br /&gt;&lt;br /&gt;1.3 Date:&lt;br /&gt;&lt;br /&gt;Format for date field :&lt;br /&gt;1995-12-31T23:59:59Z trailing "Z" designates UTC time and is mandatory&lt;br /&gt;&lt;br /&gt;Reference: ://www.w3.org/TR/xmlschema-2/#dateTime&lt;br /&gt;&lt;br /&gt;You can perform operations on the date field and store in the database.&lt;br /&gt;NOW/HOUR&lt;br /&gt;... Round to the start of the current hour&lt;br /&gt;NOW-1DAY&lt;br /&gt;... Exactly 1 day prior to now&lt;br /&gt;NOW/DAY+6MONTHS+3DAYS&lt;br /&gt;... 6 months and 3 days in the future from the start of                     the current day&lt;br /&gt;&lt;br /&gt;Date Field details refer javadocs, probable use case is for time based faceted search.&lt;br /&gt;&lt;br /&gt;3. Analyzers: Tokenizers and Tokens&lt;br /&gt;&lt;br /&gt;If you want different columns in your database to use different Tokenizers, they must be associated with different data types in Solr. Over and above the tokenizers, the text can be further indexed using the Token filters.We an also have predefined analyzer classes in java and then just include them, they are:&lt;br /&gt;&lt;br /&gt;BrazilianAnalyzer, ChineseAnalyzer, CJKAnalyzer, CzechAnalyzer, DutchAnalyzer, FrenchAnalyzer, GermanAnalyzer, GreekAnalyzer, KeywordAnalyzer, PatternAnalyzer, PerFieldAnalyzerWrapper, QueryAutoStopWordAnalyzer, RussianAnalyzer, ShingleAnalyzerWrapper, SimpleAnalyzer, SnowballAnalyzer, StandardAnalyzer, StopAnalyzer, ThaiAnalyzer, WhitespaceAnalyzer &lt;br /&gt;&lt;br /&gt;Defining Custom analyzers is a combination of Tokenizers and Tokens.&lt;br /&gt;&lt;br /&gt;2. PositionIncrementGap:    &lt;br /&gt;&lt;br /&gt;A position increment gap controls the virtual  space between the last token of one field instance and the first token of the next instance. With a gap of 100, this prevents phrase queries (even with a modest slop factor) from matching across instances. &lt;br /&gt;&lt;br /&gt;Which Tokenizer do I use? Which Token filters should I apply? How should I create my Analyzers using Tokenizers and Token filters? These questions depend on the business rule of the Search engine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-1943910613084295982?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/1943910613084295982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/parameters-in-apache-solr-schemaxml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1943910613084295982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1943910613084295982'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/parameters-in-apache-solr-schemaxml.html' title='Parameters in Apache Solr Schema.xml'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-8130078622930610401</id><published>2008-10-05T19:16:00.000-07:00</published><updated>2008-10-05T19:21:07.196-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='history'/><title type='text'>Drupal in 2001</title><content type='html'>&lt;a href="http://web.archive.org/web/20011214003854/www.drop.org/"&gt;This&lt;/a&gt; is how Drupal looked in 2001, it was called Drop ("dorp" - village in Dutch) then!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-8130078622930610401?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/8130078622930610401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/drupal-in-2001.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8130078622930610401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/8130078622930610401'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/10/drupal-in-2001.html' title='Drupal in 2001'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-5828345567198934755</id><published>2008-09-27T20:36:00.000-07:00</published><updated>2008-09-27T21:03:36.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redesign'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Active Threads at Drupal Redesign</title><content type='html'>&lt;a href="http://groups.drupal.org/node/15351"&gt;Searching for Modules and Themes with certain characteristics&lt;/a&gt;  - Imagine having all the Drupal modules tagged and we can just go to a module page, have all the related modules, tags listed!! This thread is a discussion on grouping modules and theams!!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.drupal.org/node/15332"&gt;Replace Drupal Planet and Drupal Talk with Drigg&lt;/a&gt; --- Didn't know about Drigg until I started following this thread! &lt;a href="http://www.drigg.org/"&gt;Drigg&lt;/a&gt; is Drupal and DIGG together!&lt;br /&gt;&lt;br /&gt;For some one who loves Organic Groups, &lt;a href="http://groups.drupal.org/node/15295"&gt;drupal.org projects as Organic Groups&lt;/a&gt; ! &lt;br /&gt;&lt;br /&gt;OG is definitely a great idea. All subscribers should get mails and notification on any updates in the issue queue, bug report or support report if subscribed too.&lt;br /&gt;&lt;br /&gt;We should have a tab to describe the architecture of the module, the scope for future hooks or growth, this could be a wiki and we can have discussion forums around it. Group for every module saying Redesign plan for the module_name will definitely be of great use for developers to colloobrate and expand the modules. Forums must be used only to collaborate new ideas or working on a new feature, like this group? We should not under value the effectiveness of the issue queue and support request. &lt;br /&gt;&lt;a href="http://groups.drupal.org/node/15295"&gt;Click here to read more.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another interesting thread, &lt;a href="http://groups.drupal.org/node/15279"&gt;My vision for Drupal.org's project pages&lt;/a&gt; by johnforsythe@drupal.org&lt;br /&gt;&lt;br /&gt;Join the discussion and be a part of the &lt;a href="http://groups.drupal.org/drupalorg-redesign-plan-drupal-association"&gt;Drupal redesign&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-5828345567198934755?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/5828345567198934755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/active-threads-at-drupal-redesign.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5828345567198934755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5828345567198934755'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/active-threads-at-drupal-redesign.html' title='Active Threads at Drupal Redesign'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-2863531253033620492</id><published>2008-09-27T20:11:00.000-07:00</published><updated>2008-09-28T08:57:38.187-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='captcha'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal 6'/><title type='text'>Problem with Captcha for Drupal 6</title><content type='html'>For all projects that we plan to launch in the next couple of months we are using Drupal 6. We had to have the registration forms live with Captcha enabled! Drupal 6 Captcha module was in development. We decided we would use it and start addressing the issues as and when we faced them. We were pretty confident as there was a working Drupal 5 version for us to compare with. &lt;br /&gt;&lt;br /&gt;Even while we tested it, we had some problems with the Captcha not functioning on form validate. The Captcha was not refreshing because of the form cache in Drupal 6. We have temporarily resolved by clearing the cache on every form load. This should not be the ideal way to approach the problem. We must actually refresh only the Captcha element and the rest of the form must be cached. How do we define a dynamic element within a form which doesn't get cached and gets refreshed??&lt;br /&gt;&lt;br /&gt;My colleague &lt;a href="http://drupal.org/user/295218"&gt;Nagaraj&lt;/a&gt; helped us resolve this issue and identify the problem.&lt;br /&gt;&lt;br /&gt;Links:&lt;br /&gt;&lt;a href="http://drupal.org/project/captcha"&gt;http://drupal.org/project/captcha&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drupal.org/node/312154"&gt;http://drupal.org/node/312154&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;DO we really need Captcha, want to try: &lt;a href="http://15daysofjquery.com/examples/contact-forms/"&gt;Safer forms!&lt;/a&gt;, a suggestion by &lt;a href="http://vasanthgovind.blogspot.com/"&gt;Mr. Vasanth Govind&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-2863531253033620492?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/2863531253033620492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/captcha-and-drupal.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/2863531253033620492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/2863531253033620492'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/captcha-and-drupal.html' title='Problem with Captcha for Drupal 6'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6234875641060806481</id><published>2008-09-16T09:47:00.000-07:00</published><updated>2008-09-16T09:55:01.436-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal meet'/><category scheme='http://www.blogger.com/atom/ns#' term='chennai'/><title type='text'>Chennai Drupal Lunch</title><content type='html'>Join us at the event &lt;a href="http://groups.drupal.org/node/14940"&gt;http://groups.drupal.org/node/14940&lt;/a&gt;. Lets meet and discuss the latest happenings in Drupal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6234875641060806481?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6234875641060806481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/chennai-lunch-meet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6234875641060806481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6234875641060806481'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/chennai-lunch-meet.html' title='Chennai Drupal Lunch'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6293100284988869357</id><published>2008-09-13T20:19:00.000-07:00</published><updated>2008-12-03T21:43:54.212-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redesign'/><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Drupal Redesign the Drupal way!</title><content type='html'>I am a BIG Fan of Drupal, not just the application, but the concept, the community, and how Drupal drives the community. Isn't all this brilliant? How can one have a Web 2.0 without experiencing it. I think this is clearly the advantage that Drupal has given me, far  superior than the brilliant architecture and the wonderful piece of code. I feel extremely Proud in being a tiny part of this community. Being a part of a business organization gives me very little time, but in this little time I try and participate in the community in every possible way. I share my learnings, participate in the forums and IRC chat, create awareness and build a community of fellow drupalers in my home town, Chennai. The different avenues that Drupal uses to share with the community has helped me keep abreast and given me a feeling of belonging in the community. &lt;br /&gt;&lt;br /&gt;Checkout and be a part of "&lt;a href="http://drupal.org/node/305743"&gt;Drupal.org redesign officially underway&lt;/a&gt;". Join the Group:&lt;a href="http://groups.drupal.org/drupal-org-redesign-analysis"&gt;Drupal.org redesign plan for the Drupal Association&lt;/a&gt;. Follow them on twitter at &lt;a href="http://twitter.com/drupalredesign."&gt;http://twitter.com/drupalredesign.&lt;/a&gt; Be a part of the exciting happening in Drupal redesign.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:14px;"&gt;Drupalcon Redesign Keynote&lt;/span&gt;&lt;br /&gt;From: &lt;a href="http://www.slideshare.net/markboultondesign/"&gt;markboultondesign&lt;/a&gt;, 5 days ago&lt;br /&gt;&lt;a href="http://www.slideshare.net/markboultondesign/drupalcon-redesign-keynote-presentation"&gt;SlideShare Link&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6293100284988869357?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6293100284988869357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/drupal-redesign-drupal-way.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6293100284988869357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6293100284988869357'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/drupal-redesign-drupal-way.html' title='Drupal Redesign the Drupal way!'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6415806227716974410</id><published>2008-09-09T20:02:00.001-07:00</published><updated>2008-09-10T10:19:42.538-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashups'/><category scheme='http://www.blogger.com/atom/ns#' term='APIs'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='XMLRPC'/><category scheme='http://www.blogger.com/atom/ns#' term='podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='lullabot'/><title type='text'>Mashups and APIs:</title><content type='html'>&lt;a href="http://www.lullabot.com/audiocast/podcast-61-mashups-apis-oh-my"&gt;The Lullabot Podcast no 63&lt;/a&gt; - A Very informative Podcast!  &lt;br /&gt;&lt;br /&gt;Summarizing the Podcast - the main topics covered:&lt;br /&gt;&lt;br /&gt;1.RSS feeds and Atom Feeds -&gt;&lt;br /&gt;Is a request for a file on another server.&lt;br /&gt;RSS feeds can be generated using Views and can be aggregated on a Drupal site using the Core aggregator module.&lt;br /&gt;&lt;br /&gt;2.SOAP - Simple Object Access Protocol (services API)&lt;br /&gt;and XML RPC  &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Ways to call a function in another server -&gt; add a new blog post or any specific functionality in another site, programmatically interacting with other sites You connect to the server and ask for a command (method based) calling a function and you can expect a response (what you want to do?)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;These are messaging protocols that can talk between webservices!&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://drupal.org/project/Services"&gt;Services module &lt;/a&gt;provides for these features.&lt;br /&gt; &lt;br /&gt;&lt;blockquote&gt;A standardized solution of integrating external applications with Drupal. Service callbacks may be used with multiple interfaces like XMLRPC, SOAP, REST, AMF. This allows a Drupal site to provide web services via multiple interfaces while using the same callback code.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;3. REST - noun based, object (which object, what you want to do?)&lt;br /&gt;&lt;br /&gt;REST APIs more efficient as with REST there is no XML conversion involved. On calling a specific URL all the parameters are passed by Get request.  For exchanging a large amount of info this is not good.&lt;br /&gt;&lt;br /&gt;Ficker, Amazon provide such APIs for us to use their services. Though they open out their APIs they still do not loose their clientèle. In fact contrarily, it helps them  widen their reach.&lt;br /&gt;&lt;br /&gt;4. JASON APIs – Packets for exchanging information, array full of data. JavaScript used to access the information. No XML, easier to send back the format that can be directly used.&lt;br /&gt;Google mail exchanges information in this manner.&lt;br /&gt;&lt;br /&gt;5. AAHA ( get HTML) JavaScript running to get HTML&lt;br /&gt;AJAX ( get XML) only for complex stuff!! Client side parsing of the XML and converting it to HTML&lt;br /&gt;&lt;br /&gt;6. RDF is single resource description format. A way of storing chunks of information, like RSS or custom XML packages. Standardize information exchange using micro formats.&lt;br /&gt;Protocols used - XMLRPC, Jason, … &lt;br /&gt;Format of the info - RDF or RSS&lt;br /&gt;RDF is a very generalized format.&lt;br /&gt;&lt;br /&gt;7. Drupal and  Mashups: How do we use these concepts in a Drupal site?&lt;br /&gt;&lt;br /&gt;What we can do is to take data from different websites and present it on our websites, then it is called a Mashups! &lt;br /&gt;&lt;br /&gt;8. &lt;a href="http://drupal.org/project/gmap"&gt;Gmap.module &lt;/a&gt;is used for displaying spatial data on Google Maps. &lt;br /&gt;&lt;br /&gt;View Demo at: &lt;a href="http://www.chicagoancestors.org/"&gt;http://www.chicagoancestors.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; For more discussions on ‘The State of Geo spatial in Drupal’ join: &lt;a href="http://Groups.drupal.org/node/12485"&gt;Groups.drupal.org/node/12485&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;9.&lt;a href="http://drupal.org/project/amazon"&gt;Amazon module&lt;/a&gt;, &lt;a href="http://drupal.org/project/amazontools"&gt;Amazon associate tools&lt;/a&gt;are some modules that help us use the Amazon APIs&lt;br /&gt;&lt;br /&gt;10. For an entire list of Mashups and integrations visit the modules repository for 3rd Party Integration. There are over 300 modules for doing these integrations. &lt;br /&gt;&lt;br /&gt;11. A tip for module developers while creating these integrations is to provide as much access to the APIs, even if it does not have  helper functions to use the same. &lt;br /&gt;&lt;br /&gt;The Lullabots also presented a neat example of a Mashup during the Podcast:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;A web page of your twitter updates that are linked to Google maps based on where you are posting the twitter update and also to your flicker under the same location as classification!&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I truly enjoyed this Podcast. It was a very current and detailed podcast. Not only did it cover the technical details of Mashups and APIs but also brought in relevant examples and application into it. It brought a perspective as to where Drupal fits in the scenario as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6415806227716974410?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6415806227716974410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/lullabot-podcast-no-63.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6415806227716974410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6415806227716974410'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/lullabot-podcast-no-63.html' title='Mashups and APIs:'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-3709447538956443034</id><published>2008-09-03T22:06:00.001-07:00</published><updated>2008-09-10T10:20:43.718-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><title type='text'>Szeged 2008 Drupalcon Part I</title><content type='html'>For those who where not at the Drupalcon, I have tried to list out some of the great sessions and useful resources related to search and Drupal database. For full details visit: &lt;a href="http://szeged2008.drupalcon.org/program/sessions"&gt;http://szeged2008.drupalcon.org/program/sessions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I Solr and Drupal &lt;br /&gt;A presentation by Alexandru Badiu , http://www.voidberg.org&lt;br /&gt;&lt;br /&gt;Solr is an enterprise search server based on Lucene. The presentation covers Why use Solr, the different concepts in Solr, searching in Solr, facets, geographical searching and request handlers.&lt;br /&gt;&lt;br /&gt;&lt;a href=http://szeged2008.drupalcon.org/files/solr-presentation.pdf&gt;solr-presentation.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A presentation by Robert Douglass&lt;br /&gt;&lt;br /&gt;&lt;a href=http://szeged2008.drupalcon.org/files/robert-douglass-search_.pdf&gt; robert-douglass-search_.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;How to get involved visit the search group at &lt;a href="http://groups.drupal.org/node/4102"&gt;http://groups.drupal.org/node/4102&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;II Mysql Backup and security&lt;br /&gt;&lt;br /&gt;A presentation by Lenz Grimmer, Sun Microsystems&lt;br /&gt;&lt;a href=http://szeged2008.drupalcon.org/files/mysqlBackupSecurity-DrupalCon-2008-08-28.pdf&gt;mysqlBackupSecurity-DrupalCon-2008-08-28.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;III High Availability solutions for Mysql&lt;br /&gt;&lt;br /&gt;A presentation by Lenz Grimmer, Sun Microsystems&lt;br /&gt;Improved user experience is the need of the day! Watch Lenz address it at the DrupalCon&lt;br /&gt;&lt;embed src="http://www.archive.org/flow/FlowPlayerLight.swf?config=%7Bembedded%3Atrue%2CshowFullScreenButton%3Atrue%2CshowMuteVolumeButton%3Atrue%2CshowMenu%3Atrue%2CautoBuffering%3Atrue%2CautoPlay%3Afalse%2CinitialScale%3A%27fit%27%2CmenuItems%3A%5Bfalse%2Cfalse%2Cfalse%2Cfalse%2Ctrue%2Ctrue%2Cfalse%5D%2CusePlayOverlay%3Afalse%2CshowPlayListButtons%3Atrue%2CplayList%3A%5B%7Burl%3A%27ha%5Fmysql%2FDrupalcon%5F2008%5FSzeged%5Faug%5F29%5F3%5FLife%5F2pass%2Eflv%27%7D%5D%2CcontrolBarGloss%3A%27high%27%2CshowVolumeSlider%3Atrue%2CbaseURL%3A%27http%3A%2F%2Fwww%2Earchive%2Eorg%2Fdownload%2F%27%2Cloop%3Afalse%2CcontrolBarBackgroundColor%3A%270x000000%27%7D" width="320" height="268" scale="noscale" bgcolor="111111" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" allowNetworking="all" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href= http://szeged2008.drupalcon.org/files/DrupalCon-MySQL-HA-2008-08-29.pdf &gt; DrupalCon-MySQL-HA-2008-08-29.pdf &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IV Drupal Databases: The Next Generation&lt;br /&gt;&lt;br /&gt;This session takes us in to PDO (PHP Data Objects), Multiple database types at once, Improved database portability,  Easier driver implementation,  Database-specific optimizations, Transactions.&lt;br /&gt;&lt;br /&gt;&lt;a href=http://szeged2008.drupalcon.org/files/DBTNG_Presentation.pdf&gt; DBTNG_Presentation.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-3709447538956443034?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/3709447538956443034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/szeged-2008-drupalcon-part-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3709447538956443034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3709447538956443034'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/09/szeged-2008-drupalcon-part-i.html' title='Szeged 2008 Drupalcon Part I'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6876748117928642059</id><published>2008-08-17T01:28:00.001-07:00</published><updated>2009-02-23T20:58:50.155-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='beginners'/><title type='text'>10 Tips for a Drupal Programmer</title><content type='html'>1. Use fully functional HTML_CSS files to create Drupal themes. As process have a working CSS then insert the drupal code into it.&lt;br /&gt;2. Use the CMS interface features only when  we need to expose an interface for the client  or user  to update the content.&lt;br /&gt;3. Incorporate custom blocks and Views as part of code – so the code gets logged in the SVN, version control.&lt;br /&gt;4. Test all code and database configurations in the Staging server before moving it to the production.&lt;br /&gt;5. Follow and understand &lt;a href="http://drupal.org/coding-standards"&gt;Drupal’s coding standards&lt;/a&gt;.&lt;br /&gt;6. Using Drupal's inherent functionalities will automatically take care of many default conventions for a website. We need to be aware of these functionalities and try to understand them so that while programming we only to add to them and do not loose them.&lt;br /&gt;e.g: If you use the image module, by default the alt text gets generated. We could write a custom image template, where we may forgot to add this in!&lt;br /&gt;7. Giving back what we get from the community:&lt;br /&gt;We get a lot from the drupal community, but how many of us give back to the community?! Some easy ways to share our learning with the Drupal community:&lt;br /&gt;7.1 Get yourself a Drupal ID, visit the &lt;a href="http://www.drupal.org"&gt;drupal.org&lt;/a&gt; home page atleast once everyday and try to respond to forum questions, just spend 10 minutes doing the same.&lt;br /&gt;7.2. Subscribe for mails from drupal support at &lt;a href="http://drupal.org/mailing-lists"&gt;http://drupal.org/mailing-lists&lt;/a&gt; and  try and answer atleast 5 questions a day.&lt;br /&gt;8. Be current with Drupal, read the news posts at&lt;br /&gt;8.1 &lt;a href="http://www.drupal.org"&gt;Drupal.org&lt;/a&gt;&lt;br /&gt;8.2 &lt;a href="http://drupal.org/planet"&gt;Planet Drupal&lt;/a&gt;&lt;br /&gt;8.3 &lt;a href="http://drupal.org/talk"&gt;Drupal talk&lt;/a&gt;&lt;br /&gt;8.4 &lt;a href="http://groups.drupal.org/drupal-dojo"&gt;Drupal dojo&lt;/a&gt;&lt;br /&gt;8.5 &lt;a href="http://www.lullabot.com/"&gt; Lullabot&lt;/a&gt;&lt;br /&gt;9. Become members of drupal groups based on the projects we are working on. The groups give more current updates and happening to a drupal specific topic.&lt;br /&gt;10. Be proud to be a Drupal programmer!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6876748117928642059?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6876748117928642059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/drupal-projects-from-programmers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6876748117928642059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6876748117928642059'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/drupal-projects-from-programmers.html' title='10 Tips for a Drupal Programmer'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-538909999338748232</id><published>2008-08-17T00:13:00.000-07:00</published><updated>2009-02-23T20:59:18.191-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='beginners'/><title type='text'>My first Drupal site –Tips for Non-programmers</title><content type='html'>&lt;u&gt;Introduction to Drupal some must read pages in the Drupal handbook:&lt;/u&gt;&lt;br /&gt;1. &lt;a href=http://drupal.org/getting-started&gt;Getting Started&lt;/a&gt;&lt;br /&gt;2. &lt;a href=http://drupal.org/handbook/customization/tutorials/beginners-cookbook&gt;The Drupal Cookbook &lt;/a&gt;&lt;br /&gt;3. Must watch &lt;a href=http://shyamala-drupal.blogspot.com/2008/07/10-minute-drupal-demo-for-small.html&gt; A 10 minute Drupal Demo for a small business website&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Modules&lt;/u&gt;&lt;br /&gt;1. Do not use too many modules&lt;br /&gt;2. Before using a module, check issue queue. See if the module is well supported&lt;br /&gt;3. Some SEO modules:&lt;br /&gt;&lt;a href="http://drupal.org/project/pathauto"&gt;Pathauto&lt;/a&gt;- to rename node/234 as a more meaningful URL&lt;br /&gt;&lt;a href="http://drupal.org/project/globalredirect"&gt;Global Redirect&lt;/a&gt;- to redirect node/234 to its pathauto URL, avoid 2 URLs for the same content&lt;br /&gt;&lt;a href="http://drupal.org/project/nodewords"&gt;Meta tags&lt;/a&gt;- to insert meta tags and key words into our site.&lt;br /&gt;Do not use the google analytics module, just insert the javascript into  the page.tpl&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Themes&lt;/u&gt;&lt;br /&gt;1. Choose a good theme, well supported, again&lt;br /&gt;2. Small tweaks like creating a new region in the theme are simple- &lt;br /&gt;just insert region in the phpengine and print the same in a div in your theme&lt;br /&gt;Refer drupal handbook page on &lt;a href=http://drupal.org/node/29139&gt;Regions in PHPTemplate&lt;/a&gt;&lt;br /&gt;3. Remember that you can always insert content at the top and bottom of the content region using blocks, you do not have to create new regions to do the same.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Blocks&lt;/u&gt;&lt;br /&gt;You could quickly insert a code in a block to change or fix CSS on a page. This just shows how the content we insert in a block can damage the entire layout of the site. It is always advisable to test the content of a bock in a page before adding them to the main content.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Views&lt;/u&gt;&lt;br /&gt;Use header and footer to display links or other information that go along with the view. e.g, a View of recent posts could have a link at the footer to create a new post!&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Support – some must dos:&lt;/u&gt;&lt;br /&gt;1. Subscribe for mails from drupal support at &lt;a href="http://drupal.org/mailing-lists"&gt;http://drupal.org/mailing-lists&lt;/a&gt; and post support requests to support@drupal.org&lt;br /&gt;2. Use the Forums @ www.drupal.org&lt;br /&gt;3. Use IRC channel for online chat support&lt;br /&gt;4. Use the issue queue of modules for module specific support&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Miscellaneous sharings&lt;/u&gt;&lt;br /&gt;1. Use Captcha on a live site, until you are confident with your Security for all comments and forms available to a visitor.&lt;br /&gt;2. Never use admin, password as the admin user name and password on a live site.&lt;br /&gt;3. While in production do not allow the google bot to crawl you site, update the robot.txt file in the root directory of your drupal installation to disallow bots.&lt;br /&gt;4. Always test any change in a staging server before updating a live site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-538909999338748232?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/538909999338748232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/my-first-drupal-site-tips-for-non.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/538909999338748232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/538909999338748232'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/my-first-drupal-site-tips-for-non.html' title='My first Drupal site –Tips for Non-programmers'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-7934795550134464019</id><published>2008-08-11T09:08:00.000-07:00</published><updated>2008-08-11T09:35:14.919-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='benchmarking'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Configuring MySQL - LAMP for Drupal</title><content type='html'>A Benchmarking exercise for Solr search and Drupal 6 search for a search intensive website is underway. We have encountered many Mysql issues while populating the database and scaling concurrent users. &lt;br /&gt;&lt;br /&gt;We have identified and configured most MySql parameters, we are still stuck with the slow query problem.&lt;br /&gt;&lt;br /&gt;The Slow Query problem is more prominent in the mixed transaction Scenario. We need to identify which of the transactions is causing this problem and analyze the query.&lt;br /&gt;&lt;br /&gt;Some of the unresolved issues in Benchmarking exercise:&lt;br /&gt;&lt;br /&gt;- Configuring InnoDb&lt;br /&gt;&lt;br /&gt;- Understanding all Mysql parameters&lt;br /&gt;&lt;br /&gt;- Cause of slow queries&lt;br /&gt;&lt;br /&gt;More about the problems faced at&lt;br /&gt;http://groups.drupal.org/node/13844&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-7934795550134464019?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/7934795550134464019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/configuring-mysql-lamp-for-drupal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7934795550134464019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/7934795550134464019'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/configuring-mysql-lamp-for-drupal.html' title='Configuring MySQL - LAMP for Drupal'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-3379452702046385715</id><published>2008-08-06T09:10:00.000-07:00</published><updated>2008-08-16T23:35:01.388-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal video'/><title type='text'>Understanding Drupal – by the Lullabots</title><content type='html'>&lt;embed src="http://blip.tv/play/ulKr4BSKoXc" type="application/x-shockwave-flash" width="400" height="250" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt; &lt;br /&gt;&lt;br /&gt;I am great follower of the Lullabot team. I just went right ahead and purchased the video. The Video was a great, the timing perfect. We used the Video on a set of freshers who joined our company. It was our introductory session to the in house Drupal-training.&lt;br /&gt;&lt;br /&gt;The content overall covered the aspects of Drupal, what is drupal and how it functions and all associated terminologies.&lt;br /&gt;&lt;br /&gt;But for more experienced users of Drupal there was nothing much in it. It would have been nice if as a part of the video one live site was created like in the Aquia video. A little more detail on API, coding guidelines, the folder structure seemed missing. There seemed to be an over emphasis on the terminologies and less on the frame work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-3379452702046385715?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/3379452702046385715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/understanding-drupal-by-lullabots.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3379452702046385715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3379452702046385715'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/understanding-drupal-by-lullabots.html' title='Understanding Drupal – by the Lullabots'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6557573836880475939</id><published>2008-08-05T09:41:00.000-07:00</published><updated>2008-08-06T01:30:23.391-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal meet'/><category scheme='http://www.blogger.com/atom/ns#' term='chennai'/><title type='text'>Chennai Drupal Meet III</title><content type='html'>Drupal meet at Chennai Again. To sign up visit: &lt;a href="http://groups.drupal.org/node/13686"&gt;http://groups.drupal.org/node/13686&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Discuss agenda at: &lt;a href="http://groups.drupal.org/node/13737"&gt;http://groups.drupal.org/node/13737&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6557573836880475939?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6557573836880475939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/chennai-drupal-meet-iii.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6557573836880475939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6557573836880475939'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/08/chennai-drupal-meet-iii.html' title='Chennai Drupal Meet III'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-5861868114307749953</id><published>2008-07-27T08:33:00.000-07:00</published><updated>2010-11-28T05:47:11.497-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal video'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='beginners'/><title type='text'>A 10 minute Drupal Demo for a small business website</title><content type='html'>A real neat demo! I Love Drupal!!&lt;br /&gt;&lt;br /&gt;Watch the  video and understand -&amp;gt; menus, themes, blocks, views, modules, ubercart store&lt;br /&gt;&lt;br /&gt;Video created by &lt;a href="http://www.acquia.com/"&gt;Acquia&lt;/a&gt;&lt;br /&gt;"Acquia provides commercially supported Drupal distributions, technical support, and value-added network services for Drupal. However, the Drupal project, Drupal.org, and the Drupal Association pre-date and function independently from Acquia. Acquia functions as a member of the community to advance the Drupal technology and promote Drupal adoption. We’re one drop in the Drupal ocean."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" height="300" src="http://blip.tv/play/AcLXS4rPQw" type="application/x-shockwave-flash" width="400"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-5861868114307749953?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/5861868114307749953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/10-minute-drupal-demo-for-small.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5861868114307749953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/5861868114307749953'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/10-minute-drupal-demo-for-small.html' title='A 10 minute Drupal Demo for a small business website'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6958975286129259660</id><published>2008-07-26T20:01:00.000-07:00</published><updated>2008-07-26T20:11:32.787-07:00</updated><title type='text'>Theming in Drupal 6  - Key Learnings at the Lullabot workshop</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lullabot.com"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_cG31REGLUTw/SF2pZpjjV3I/AAAAAAAAAAg/5TuRtQUkEJY/s320/slide0001_image006.gif" alt="Lullabot" id="BLOGGER_PHOTO_ID_5214510201681696626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. If we did not define a node.tpl file in our theme:&lt;br /&gt;Druapl6 , the default file is that available in with the node module.&lt;br /&gt;Drupal5, the default file was available with the php-engine&lt;br /&gt;&lt;br /&gt;2. All new Preprocessor functions in Drupal 6:&lt;br /&gt;Preprocess functions only apply to theming hooks implemented as templates. The main role of the preprocessor is to setup variables to be placed within the template (.tpl.php) files. – this means that the variables defined with in the Preprocessor functions are available only with in the template files.&lt;br /&gt;Template suggestions can be made in the preprocessor functions, based on available hooks&lt;br /&gt;&lt;br /&gt;3. Use the themer info to identify which theme function is associated with a particular content and update the same as in the case of&lt;br /&gt;function mytheme_preprocess_taxonomy_term_page(&amp;$variables) {&lt;br /&gt;}The same hooks are also available from inside these theme functions.&lt;br /&gt;&lt;br /&gt;The main Diffference in theming in Drupal 5 vs  Drupal 6&lt;br /&gt;In Drupal 5 the theme could be altered using the _phptemplate_variables function. The templates could be altered only from the template.php file. The only way to override the formatting at the module level was to override rendering in the template.php file.&lt;br /&gt;In Durpal 6 since we have the preprocess functions we can access the templates at the module level&lt;br /&gt;&lt;br /&gt;Read more at &lt;a href="http://drupal.org/theme-guide"&gt;Theme guide (Drupal 6)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6958975286129259660?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6958975286129259660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/theming-in-drupal-6-key-learnings-at.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6958975286129259660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6958975286129259660'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/theming-in-drupal-6-key-learnings-at.html' title='Theming in Drupal 6  - Key Learnings at the Lullabot workshop'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cG31REGLUTw/SF2pZpjjV3I/AAAAAAAAAAg/5TuRtQUkEJY/s72-c/slide0001_image006.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6566977854040003758</id><published>2008-07-25T09:36:00.000-07:00</published><updated>2008-07-26T20:15:58.395-07:00</updated><title type='text'>Drupal 6 Corporate website Launched</title><content type='html'>&lt;a href="http://www.netlinkindia.com"&gt; Netlink Technologies LTD, Chennai&lt;/a&gt;  Launches  Drupal 6 corporate website. Visit &lt;a href="http://drupal.org/node/287645"&gt;http://drupal.org/node/287645&lt;/a&gt; to see a short writeup!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6566977854040003758?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6566977854040003758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/drupal-6-corporate-website-launched.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6566977854040003758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6566977854040003758'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/drupal-6-corporate-website-launched.html' title='Drupal 6 Corporate website Launched'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-1370109513492932287</id><published>2008-07-19T08:49:00.000-07:00</published><updated>2008-07-24T18:55:20.876-07:00</updated><title type='text'>A very successful Chennai Drupal Meet II</title><content type='html'>The Second Chennai Drupal Meet was a great success. We had Kamalakannan and Antony explain Drupal 6 and Views in Drupal.&lt;br /&gt;&lt;br /&gt;The power of open source was such, that we all felt like one while sharing our ideas and experiences in working with Drupal. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.drupal.org/user/22589"&gt;Vijay&lt;/a&gt; was a big contributor, maintains a large portal &lt;a href="http://www.mylifetime.com/"&gt;mylifetime.com&lt;/a&gt;. The site was designed and developed by Lullabot and Vijay is the team lead in Chennai maintaining  the site. The insights he shared based on his Drupal experiences were great. Checkout the &lt;a href="http://www.lullabot.com/work/lifetime-tv"&gt;writeup on mylifetime&lt;/a&gt; at the Lullabot site. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.drupal.org/user/21228"&gt;Vinodh's&lt;/a&gt; enthusiasm for Drupal deserves a special mention! He has introduced &lt;a href="http://groups.drupal.org/user/22445"&gt;Naresh&lt;/a&gt; to our Chennai Drupal Group. Naresh is only a fews days in to Drupal but participated actively. He recorded the entire session.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.drupal.org/user/22484"&gt;Frédéric &lt;/a&gt; is French. He recently met up with Netlink Technologies and was very interested in being a part of the Chennai Drupal Community.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.drupal.org/user/17815"&gt;Jovemac&lt;/a&gt; has been involved in creating quiet a few Drupal sites. He has been a key person to support and provide encouragement to have a Chennai Drupal meet!&lt;br /&gt;&lt;br /&gt;We also had with us Ranjith, Gomathy and Shiva. We were in all 11 of us. Was indeed a great meeting. Thanks everybody for coming to the meeting and making it a great success! Cheers to &lt;a href="http://groups.drupal.org/chennai-drupal-community"&gt;the Chennai Drupal Community!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-1370109513492932287?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/1370109513492932287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/very-successful-chennai-drupal-meet-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1370109513492932287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/1370109513492932287'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/very-successful-chennai-drupal-meet-ii.html' title='A very successful Chennai Drupal Meet II'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-4345091571119043903</id><published>2008-07-12T09:53:00.000-07:00</published><updated>2008-07-12T10:25:23.293-07:00</updated><title type='text'>Search and Drupal</title><content type='html'>Trying to understand the Search functionality of Drupal better. There may be a need to integrate with 3rd party search tools to enable a more efficient search. Stumbled upon Solr Search. The community is extremely active! Had Robert Douglass answering my questions at&lt;a href=" http://groups.drupal.org/node/13112"&gt; http://groups.drupal.org/node/13112&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Some other interesting links in Drupal and Solr:&lt;br /&gt;&lt;a href="http://people.apache.org/~hossman/apachecon2006us/faceted-searching-with-solr.pdf"&gt;http://people.apache.org/~hossman/apachecon2006us/faceted-searching-with-solr.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lullabot.com/blog/new-solr-search-module-works"&gt;http://www.lullabot.com/blog/new-solr-search-module-works&lt;/a&gt;&lt;br /&gt;&lt;a href="http://robshouse.net/blog-post/fosdem-2008-drupal-apachesolr-module-0"&gt;http://robshouse.net/blog-post/fosdem-2008-drupal-apachesolr-module-0&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;A site using Solr:  &lt;a href="http://www.netflix.com/BrowseSelection"&gt;http://www.netflix.com/BrowseSelection&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-4345091571119043903?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/4345091571119043903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/search-and-drupal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4345091571119043903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/4345091571119043903'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/search-and-drupal.html' title='Search and Drupal'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-3355604771150414350</id><published>2008-07-12T08:40:00.000-07:00</published><updated>2008-07-12T08:50:15.622-07:00</updated><title type='text'>Chennai Drupal Meet II - Please sign  up!</title><content type='html'>Visit &lt;a href="http://groups.drupal.org/node/13072"&gt;http://groups.drupal.org/node/13072&lt;/a&gt; and Sign up!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-3355604771150414350?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/3355604771150414350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/chennai-drupal-meet-ii-please-sign-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3355604771150414350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3355604771150414350'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/chennai-drupal-meet-ii-please-sign-up.html' title='Chennai Drupal Meet II - Please sign  up!'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-222328986031632864</id><published>2008-07-03T06:21:00.000-07:00</published><updated>2008-07-06T20:58:10.778-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>DRUPAL SITE PERFORMANCE</title><content type='html'>Terminologies&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;Load balancing&lt;/span&gt;: Is the technique of sharing work load among many resources so no single resource gets over loaded!&lt;br /&gt;e.g DNS Load balancing  -is to distribute requests to different servers though resolving the domain name to different IP addresses of servers, Database Load balancing - is to balance database access requests among cluster of database servers, in order to achieve database scalability and high availability&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;memcached&lt;/span&gt;: High performance, memory-object caching, used in speeding up dynamic web applications by reducing the number of time the database has to be read.&lt;br /&gt;&lt;br /&gt;Must reads on Drupal Performance&lt;br /&gt;1. &lt;a href="http://nadeausoftware.com/articles/2007/01/essential_performance_tuning_drupal_web_sites"&gt;Essential performance tuning for Drupal web sites by  Nadeau  software consulting &lt;/a&gt; -- This article is FAB! Just what we need to do for a drupal site!!&lt;br /&gt;2. &lt;a href="http://buytaert.net/drupal-performance"&gt;Drupal performance by Dries Buytaert&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://buytaert.net/scaling-with-mysql-replication"&gt;Scaling with MySQL replication&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://www.ibm.com/developerworks/linux/library/l-tune-lamp-2.html?ca=dgr-lnxw01LAMPTuningP2"&gt;Optimizing Apache and PHP&lt;/a&gt;&lt;br /&gt;5. &lt;a href="http://drupal.org/node/2601"&gt;Server tuning Consideration -  from Drupal Handbook&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-222328986031632864?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/222328986031632864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/terminologies-load-balancing-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/222328986031632864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/222328986031632864'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/terminologies-load-balancing-is.html' title='DRUPAL SITE PERFORMANCE'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-3938547109606869611</id><published>2008-07-02T09:35:00.000-07:00</published><updated>2008-07-02T09:37:59.555-07:00</updated><title type='text'>Chennai Drupal Meet II</title><content type='html'>We are meeting again, this time with an Agenda. Please visit:http://groups.drupal.org/node/12877 &lt;a href="http://groups.drupal.org/node/12877 "&gt;&lt;/a&gt; and post your agenda.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-3938547109606869611?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/3938547109606869611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/chennai-drupal-meet-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3938547109606869611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/3938547109606869611'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/07/chennai-drupal-meet-ii.html' title='Chennai Drupal Meet II'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1583447782383223930.post-6979098541650021866</id><published>2008-06-21T18:06:00.000-07:00</published><updated>2008-06-21T19:14:35.159-07:00</updated><title type='text'>Chennai Drupal Meet - My experience at the Lullabot workshop</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lullabot.com"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_cG31REGLUTw/SF2pZpjjV3I/AAAAAAAAAAg/5TuRtQUkEJY/s320/slide0001_image006.gif" alt="Lullabot" id="BLOGGER_PHOTO_ID_5214510201681696626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;To meet all co-drupalers in Chennai was a great experience and very exciting! I shared a brief of my experiences at the Lullabot workshop at Minniapolis.&lt;br /&gt;&lt;br /&gt;My experience at the Lullabot workshop (my ppt in text format!)&lt;br /&gt;&lt;h1  style="font-weight: normal;font-family:trebuchet ms;"&gt;&lt;span style="font-size:85%;"&gt;Lullabot Workshop&lt;/span&gt;&lt;/h1&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;Drupal 6&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Increased&lt;/li&gt;&lt;li&gt;Performance (every version of Drupal, takes care of performance aspects in the architecture)&lt;/li&gt;&lt;li&gt;Security&lt;/li&gt;&lt;li&gt;Theming made simpler&lt;/li&gt;&lt;li&gt;Form API is more versatile, with multi step forms and AAHA integration and support&lt;/li&gt;&lt;li&gt;Database (people working on oracle integration, architecture has the database handled separately)&lt;/li&gt;&lt;li&gt;Devel module! (Firebug -&lt;span style="font-family:Wingdings;"&gt;&lt;span style=""&gt;à&lt;/span&gt;&lt;/span&gt; real cool stuff)&lt;/li&gt;&lt;li&gt;More drag and drop, &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; features in the user interface.&lt;/li&gt;&lt;li&gt;A site which is going to be launched in 3 months stick with Drupal 6, CCK Views not ready yet! (Views integration)&lt;span style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;                    &lt;h1 style="font-weight: bold; font-family: trebuchet ms;"&gt;  &lt;/h1&gt;&lt;p class="MsoNormal"&gt;Theming in Drupal 6 vs Drupal 5&lt;/p&gt;    &lt;ul&gt;&lt;li&gt;&lt;o:p&gt; &lt;/o:p&gt;In Drupal 5 the theme could be altered using the _phptemplate_variables function. The templates could be altered only from the template.php file. The only way to override the formatting at the module level was to override rendering in the template.php file.&lt;/li&gt;&lt;li&gt;In Durpal 6 since we have the preprocess functions we can access the templates at the module level!!&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;Lullabot Team&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Most Helpful&lt;/li&gt;&lt;li&gt;Consulting - Help Architect a site in Drupal&lt;/li&gt;&lt;li&gt;Team working on different aspects of Drupal&lt;/li&gt;&lt;li&gt;Core&lt;/li&gt;&lt;li&gt;Form API&lt;/li&gt;&lt;li&gt;Theming&lt;/li&gt;&lt;li&gt;J-query and Ahah&lt;/li&gt;&lt;li&gt;Ahah - Asynchronous HTML and HTTP, &lt;/li&gt;&lt;li&gt;Security&lt;/li&gt;&lt;li&gt;Documentation and Training&lt;/li&gt;&lt;li&gt;Provide Training material&lt;/li&gt;&lt;li&gt;Screen casts/ Videos or Articles&lt;/li&gt;&lt;li&gt;Podcasts&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;A Drupal Project&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Theming to done as a wire frame&lt;/li&gt;&lt;li&gt;Photo shop file&lt;/li&gt;&lt;li&gt;Drupal team to decide how the regions are going to be designed&lt;/li&gt;&lt;li&gt;Create a markup file in HTML&lt;/li&gt;&lt;li&gt;Then hand the mark up file to the Drupal team&lt;/li&gt;&lt;li&gt;New features not available to be modules&lt;/li&gt;&lt;li&gt;Modules back in Open Source for others to use&lt;/li&gt;&lt;li&gt;On completion of Project, the client must be able to maintain the same easily – Importance of Usability improvements in Drupal 6, admin interface has drag and drop/ &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;AJAX&lt;/st1:place&gt;&lt;/st1:city&gt; features&lt;/li&gt;&lt;li&gt;Working with Open source&lt;/li&gt;&lt;li&gt;We must not look at proprietary code!&lt;/li&gt;&lt;li&gt;Put the code back into the community&lt;/li&gt;&lt;li&gt;The community help is fixing bugs&lt;/li&gt;&lt;li&gt;Improved features&lt;/li&gt;&lt;li&gt;You have a whole lot of new ideas&lt;/li&gt;&lt;li&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;Acquia&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Acquia = Drupal as Redhat = Linux&lt;/li&gt;&lt;li&gt;The founder is the &lt;a href="http://acquia.com/about-us/team/"&gt;Dries Buytaert&lt;/a&gt;, the original creator and project lead of the Drupal open source web content management system &lt;/li&gt;&lt;li&gt;A new software company that will provide value-added software products and services for the &lt;a href="http://drupal.org/"&gt;Drupal social publishing system&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Carbon - commercially supported distribution of Drupal 6 &lt;/li&gt;&lt;li&gt;Spokes - update notification service for the Carbon distribution &lt;/li&gt;&lt;li&gt;Caliper - spam-blocking and content monitoring network service &lt;/li&gt;&lt;li&gt;Yellow &lt;st1:place st="on"&gt;Jersey&lt;/st1:place&gt; provides training and certification program&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;Sony&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;A big company that uses Drupal: &lt;a href="http://www.myplay.com/"&gt;http://www.myplay.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;A team of about 25 developers &lt;/li&gt;&lt;li&gt;Involved in creating custom module(that they role back into the system Drupal)&lt;/li&gt;&lt;li&gt;Working on upgradation and maintenance&lt;/li&gt;&lt;/ul&gt;          &lt;p class="MsoNormal"&gt;What the workshop gave me?&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;How they work?&lt;/li&gt;&lt;li&gt;Professional&lt;/li&gt;&lt;li&gt;Organized&lt;/li&gt;&lt;li&gt;Friendly&lt;/li&gt;&lt;li&gt;Inspiring!!&lt;/li&gt;&lt;li&gt;The power of Open Source &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1583447782383223930-6979098541650021866?l=shyamala-drupal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shyamala-drupal.blogspot.com/feeds/6979098541650021866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/06/chennai-drupal-meet-my-experience-at.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6979098541650021866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1583447782383223930/posts/default/6979098541650021866'/><link rel='alternate' type='text/html' href='http://shyamala-drupal.blogspot.com/2008/06/chennai-drupal-meet-my-experience-at.html' title='Chennai Drupal Meet - My experience at the Lullabot workshop'/><author><name>shyamraj</name><uri>http://www.blogger.com/profile/06245117276203629001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cG31REGLUTw/SJHiz_Ua0-I/AAAAAAAAACc/YRFEGvlkieQ/S220/t1367913974_3530.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cG31REGLUTw/SF2pZpjjV3I/AAAAAAAAAAg/5TuRtQUkEJY/s72-c/slide0001_image006.gif' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
