Wednesday, 28 January 2015

Tips to become a webmaster on drupal.org


As recently I became the webmaster on the drupal.org and few people started asking me about how to become a webmaster and where to start. So I write a blog post so that others can benefit.
In simple words: "Start Contributing". Webmaster privileges aren't granted lightly for obvious reasons. A solid history of consistent contributions on drupal.org is a must to get consideration for an elevated role.

How to start contributing & where you can contribute :


  1. Help out in the content queue, especially reviewing Service Listing requests .Marketing guidelines for reviewing the service listing requests.
  2. Training Listing requests, Marketing guidelines to review training listing requests.
  3. Help out in the webmasters queue, Textual improvements requests.
  4. Depending on your skills, you can also contribute to drupal customizations as well.
  5. if you found any problem while contributing to above sections,just comment on the below post/ if you need immediate answer you can try and find one of the webmasters on IRC - #drupalorg IRC channel on Freenode.
If you need guidance, join the #drupalorg IRC channel and find dddave, lizzjoy, tvn or myselfA general overview about the various ways to contribute to Drupal.org can be found in the documentation.

If you have good coding skills, you are more than welcome to help reviewing project applications. I encourage you to learn more about that process and join the group of reviewers.

Next article:  We will look at how to be a git administrator on drupal.org

Friday, 23 January 2015

Trust a major strategy in Security


Was looking out some good English Speaking training course website for my cousin to become a fluent English speaker.


On opening the homepage I found the section "Free trial".


I did the same thing as all guys do.Click on the Free trial link,created my account.I personally feeling happy to get the 5 free audio English lessons.
I clicked on one of my lessons link and come to the page, found the download link of the audio file.



Copied and pasted the url in the browser and the downloaded the file.
https://www.dailystep.com/en/download/file/fid/13531
Just change the fid in the url and tried to download some random file with file id.
I thought what the Shit!  
I then look around which drupal module has provided this route.After checking I got to know that this is the download file module which provides this route.After checking I assume that it might be permission stuff problem.

I found the similar permission problem on the drupal.org as well https://www.drupal.org/node/2394993

Trust is the Major Strategy in Security of any web application.We should be sure which user role we should assign which permissions.

Note: Published the post after suggesting the fix to the site owner Jane

Monday, 10 November 2014

Awesome weekend by porting a drupal 7 module to drupal 8


I have recently joined QE42 pune, As the drupal 8 module port code sprint will happen in
QED42 on 8 November,2014 https://groups.drupal.org/node/448748 and It was postponed later and I was unaware of that.
So I decided to port a module, so I picked a random project from the code reviews done by me from project applications.
So I picked Anonymous suggestion box and ported the module code to drupal 8 and created its meta in the module issue queue https://www.drupal.org/node/2371803

After that I have the time left for code writing so I decided to pick another one jquery carousel and ported half of its code to drupal 8 https://www.drupal.org/node/2371855
If anyone wants to join hands while porting this module then tweet me over twitter lets finish this before this week end and will take another one for next week end.

Waiting for the postponed sprint to meet #pune drupalers over there.

Thursday, 13 February 2014

Facebook integeration with your website using jquery

To integerate your website with facebook follow these steps :
  1. First Register your application on facebook by going to this url https://developers.facebook.com
  2. After registering you got an application id like this XXXXXXXXXXXXXXXX and configure the domain in app settings.
  3. Then run the html file after appending your domain like this : http://domain.com/fblogin.html
  4. Then copy and paste the source code into the fblogin.html file.
  5. Also replace the appId with your application id.
  6. Enjoy.
Here is the link of source code :  https://github.com/naveenvalecha/jquery-facebooklogin/tree/master

    Tuesday, 29 October 2013

    Drupal site Performance tips

    Here are some of the Performance tips for the Drupal site.

    1. APC : APC (Alternative PHP Cache) is a PHP OP code cache. It is a very quick win when working with PHP and can offer a great performance boost when using Drupal. It is very much a “set it and forget it” type of application which can just be installed, enabled and left to do it’s thing.
    2. Memcache : Drupal's support for memcache is really good and easy to implement.There is a memcache drupal module(https://drupal.org/project/memcache) to integerate the memcache on the site.
    3. Varnish : When you have a lot of anonymous users reverse proxy cache can save you a lot of server load. Varnish is one of the more popular solutions within the Drupal world. Varnish sits in front of your web server application, for example Apache, Nginx or lighttpd, and can run on the same server or a remote server.Use the varnish module to integrate the varnish on your site https://drupal.org/project/varnish
    4. Boost : Boost provides static page caching for Drupal enabling a very significant performance and scalability boost for sites that receive mostly anonymous traffic. For shared hosting this is your best option in terms of improving performance. On dedicated servers, you may want to consider Varnish instead. When the page is then requested it is loaded quickly, because it is coming straight from the disk and no PHP or MySQL processing is needed.See the Boost module here https://drupal.org/project/boost
    5. CDN : A CDN is used to distribute static assets such as images, documents, CSS and JavaScript across many locations.The goal of a CDN is to serve content to end-users with high availability and high performance.There is a CDN drupal module(https://drupal.org/project/cdn) to use the Content delivery Network.
    6. Disable Database logging module : This module logs the action performed on the site to the database.Use syslog module which is also in drupal core.Using syslog you can also write the more technical log entires to the server's standard log on the file system and save the database queries.
    7. Enable Page & Block Cache : Enable Drupal caching (Administer > Configuration > Performance). When enabled, Drupal will render the page and associated blocks once, and then save that result in the database. This can drastically reduce the number of database calls run on a page since the results are pre-rendered. Drupal’s caching engine is most effective for anonymous visitors – if your site is mostly “read only” and doesn’t have visitors logging in, caching can make a dramatic improvement in site load speed.
    8. Increase Cache Lifetime : An option for some sites may be to increase the cache lifetime. This determines how long Drupal will hold onto a cached result before it will re-generate the page. If you have frequently changing content, you may want to set the cache lifetime to only 5 minutes, but if your content doesn’t change often, an acceptable value may be several hours.The cache lifetime depends on your site usage.
    9. Optimize JavaScript and CSS Files : Enable the option of optimize javascript and CSS files in the performance settings. When enabled, Drupal will consolidate all CSS and JS files included on each page into a minimum files, and compress the code by removing whitespace. This will reduce the overall file size and improve page load speeds.if you need more aggeration of css and js files then use Advanced CSS/JS Aggregation module https://drupal.org/project/advagg
    10. Disable Un-used Modules from the site .


    if you have done all the performance tips written above and you are still getting the performance problems then either get the suggestions from the High performance drupal group https://groups.drupal.org/high-performance

    There are also some of the related performance related articles.See there links below

    1. http://www.creativebloq.com/web-design/drupal-performance-tips-9122837

    Drupal Service Providers

    There are many service providers in the world that provide drupal related services.As per the drupal marketplace some of the providers are Featured(those which have an exceptional community contributions and show continued support of the Drupal project) and others are not Featured.See the Top 10 Featured service providers here https://drupal.org/drupal-services.you can filter them according to the Services,location and sectors.

    When hiring a Drupal site developer it's important to understand what you need and where you can find the service provider with that set of skills.you can find the detail here https://drupal.org/node/51169

    if you are getting some problem while hiring a Drupal Developer then feel free to contact me using my contact form.

    Sunday, 8 September 2013

    New Relic Setup on Ubuntu 12.04

    In this article I will show you how to setup New Relic on Ubuntu 12.04 on linode.
    First Login on Newrelic website if you have an account unless Register with a email address.Then follow these steps : 
    1. Click on the Applications tab in the left sidebar on your dashboard.
    2. Choose your language.
    3. Click on Reveal license key button.
    4. Select your Environment to Debian-based (Debian, Ubuntu, etc)
    5. Then login to your server with root account
    6. Get the key :
      wget -O - http://download.newrelic.com/548C16BF.gpg | sudo apt-key add -
    7. Add newrelic repository:
      sudo sh -c 'echo "deb http://apt.newrelic.com/debian/ newrelic non-free" > /etc/apt/sources.list.d/newrelic.list'
    8. Install the package and configure it:  
      sudo apt-get update
      sudo apt-get install newrelic-php5
      sudo newrelic-install install
    9. Stop and start your services .i.e. Restart your web servers: httpd, apache2, nginx, php-fpm, etc.
    10. Then Go to your dashboard on New Relic and click on Connect to my application button and it will show the data on your dashboard in approximately 5 minutes.
    Note : if you got any error while installation either Email support@newrelic.com or follow the instructions here https://newrelic.com/docs/php/new-relic-for-php#installation

    In a default installation there should be no need to start the daemon manually using /etc/init.d/newrelic-daemon start. This is only needed in unique circumstances. The daemon should be started as needed by the agent when your web-server is restarted.

    After a restart, do the following:
    ps -aux | grep newrelic-daemon
    If things are running you should see to processes named newrelic-daemon.

    If these are not running then please locate your log files and send them to us. By default these files would be located at

    /var/log/newrelic/php_agent.log
    /var/log/newrelic/newrelic-daemon.log

    Thursday, 11 July 2013

    Create a node programmatically in drupal 7 with Reference fields

    How to create the node programmatically in drupal 7 with Reference field modules either References or Entity Reference(that is in drupal 8 core now).

    Also find the below example of creating a simple node with page type with Title,Description and a Reference(References or Entity Reference) fields.
    $node = new stdClass();
    $node->uid = 1;
    $node->title = 'Title of the Field';
    $node->status = 1;
    $node->comment = 1; //Hidden the Comment on the node
    $node->promote = 1;
    $node->sticky = 0;
    $node->type = 'article';
    $node->created = '';
    $node->changed = '';
    $node->timestamp = '';
    $node->body['und'][0]['value'] = 'Full Story';
    $node->body['und'][0]['summary'] = 'Summary';
    $node->body['und'][0]['format'] = 'full_html';
    $node->revision = 0;
    $node->field_entity_reference['und'][0]['target_id'] = 50;
    //Here field_entity_reference is the name of the Entity Reference Field and 50 is the nid of the reference node.
    $nid = node_save($node);
    Here field_entity_reference is the name of the Entity Reference Field and 50 is the nid of the reference node.
    you will get the $nid after saving the node

    Tuesday, 2 July 2013

    Php and Mysql CMS

    I do lot of R&D on finding the list of Php and mysql open source CMS on google.Then atlast I found here http://www.scriptol.com/cms/list.php .I mentioned some of the popular CMS below


    NameCategorySupported databasesComments



    DrupalPortalMySQL or PostgreSQLSponsored by the University of Oregon.
    Joomla!PortalMySQLPopular CMS, fork of Mambo.
    phpBBForumForum CMS with a lot of themes and mods.
    WordpressBlogMySQLVery popular and extensible blog CMS.
    For more information Read Here