Sunday, June 14, 2015

Cracking 'Acquia Certified Drupal Site Builder' Certification

Recently I took "Cracking 'Acquia Certified Drupal Site Builder' Certification" exam and cracked the exam with 82% score. For more details of this examination you can go to https://www.acquia.com/customer-success/learning-services/acquia-certified-drupal-site-builder-exam-blueprint#animated

After appearing in this examination, I found some below points that may help you.

  1. Please go through all admin settings and applicable configuration related to all Drupal components like views, content types, users roles, permissions, etc. (Above menu) 
  2. Most of question was related to only Drupal core. In contributed modules, I found "views" related questions.
  3. If you have 2-3 year Drupal experience with "Awareness" during creating Drupal components, then it is not a hard nut to crack.
  4. On exam's blue print page, please go through in depth with test format content. Ex. Given a scenario, determine how.......
  5. To take this exam, I shall prefer to go to nearby exam centre in place of  your personal laptop/computer at home.
  6. Before to start exam, please make time plan (time per question) and reserve 10-20 minutes to review the skipped or doubtful answers.
  7. You can mark "Review later" any question and if you click "Review all" button, then you will see these question with star (*) mark.
  8. Please mark any question "Review later" in that case only if you think any possibility to revise the answer, otherwise in last you will face a big number of question to be reviewed.
  9. There is no question related to programming. 
  10. Please reach your exam centre at least 30 minutes before to time. If everything is Ok then they will allow to start the exam before to time itself. 

If I am able to remind some more information, will append in future. Best of luck and Thanks to read.

Saturday, August 2, 2014

Eclipse commands

  • To make Format:  ESc +Ctrl+F
  • To proper indentation :  ctrl+I
  • Add block comment: SHIFT + CTRL+ /
  • remove block comment: SHIFT + CTRL+ \
  • Matching tag: Shift + Ctrl+ >
  • Matching Bracket: Shift + Ctrl+ P
  • Open declaration: F3 or Ctrl+ left-click
  • Last edit location: Ctrl+Q
  • Back : Alt + left arrow
  • Next : Alt + right arrow
  • Key Assist: Ctrl+Alt+L

Sunday, March 30, 2014

Drupal 7 performance options and tips

Some basic configuration practice


  • Non-essential modules: Disable and uninstall unused and non-essential modules.
  • Statistics module: Disable the statistics module as it puts an extra load on the database with every hit. 
  • Update manager module: Disable the Update Manager module on Production 
  • Drupal cache: Enable site-wide caching over at Administer » Configuration » Development » Performance.
  • CSS/JS Aggregation: Improve CSS/JS performance with Advanced CSS/JS Aggregation or Aggregate

System administration

  • APC:  Alternative PHP Cache (APC) for PHP < 5.5.  (This is available in new version of  core PHP)
  • Nginx:  This is one of  alternatives to Apache Web server.
  • Syslog:  Saves all logs to your operating system instead of the database.
  • Solid state drives (SSDs):  You have to pay more cost. If it spans in your budget, then go to SSD option in place of tradional HDD.
  • Cron jobs: Disable unnecassary cron jobs
  • Improve CSS/JS performance with Advanced CSS/JS Aggregation or Aggregate cache

Cache Replacements


  • The default Drupal-site caching is not very efficient. As a result, alternative mechanisms have sprung up to fill the void.
  • Memcache API and Integration or Memcache Storage
  • File Cache
  • Redis (a key-value store)
  • Specific Components optimization
  • Minify JS files to reduce the fils size.
  • React to page-not-found errors quicker with Fast 404.
  • Cache components with logged-in users via Authenticated User Page Caching (Authcache).
  • You can use CSS sprite images for theme images to reduce the HTTP request.
  • Load images only when needed with Image Lazyloader or similar modules.

External Caching


  • Varnish - Basically, Varnish handles serving static files and anonymous page-views for your site much faster and at higher volumes than Apache, in the neighborhood of 3000 requests per second.
  • Cache Expiration - This module provides configurable actions upon events that will expire URLs from caches like reverse proxy caches, internal page caches, etc.
  • Boost module - for shared servers, then you can run Boost instead.
  • Services -There are several services that can be used in conjunction with your Drupal site to monitor and/or increase performance.
  • Content delivery networks (CDNs)
  • ProjectPAAS - along with its connector module: Drupal-specific performance service.
  • New Relic: General performance monitoring that supports Drupal. Works nicely with Pantheon.
  • BlazeMeter Module - for Load and Performance Testing


Saturday, August 17, 2013

FULC (Frequently used LINUX commands)


The most common Linux commands are shown in this table.
CommandDescription
cat [filename]Display file’s contents to the standard output device (usually your monitor).
cd /directorypathChange to directory.
chmod [options] mode filenameChange a file’s permissions.
chown [options] filenameChange who owns a file.
clearClear a command line screen/window for a fresh start.
cp [options] source destinationCopy files and directories.
date [options]Display or set the system date and time.
df [options]Display used and available disk space.
du [options]Show how much space each file takes up.
file [options] filenameDetermine what type of data is within a file.
find [pathname] [expression]Search for files matching a provided pattern.
grep [options] pattern [filesname]Search files or output for a particular pattern.
kill [options] pidStop a process. If the process refuses to stop, use kill -9 pid.
less [options] [filename]View the contents of a file one page at a time.
ln [options] source [destination]Create a shortcut.
locate filenameSearch a copy of your filesystem for the specified filename.
lpr [options]Send a print job.
ls [options]List directory contents.
man [command]Display the help information for the specified command.
mkdir [options] directoryCreate a new directory.
mv [options] source destinationRename or move file(s) or directories.
passwd [name [password]]Change the password or allow (for the system administrator) to change any password.
ps [options]Display a snapshot of the currently running processes.
pwdDisplay the pathname for the current directory.
rm [options] directoryRemove (delete) file(s) and/or directories.
rmdir [options] directoryDelete empty directories.
ssh [options] user@machineRemotely log in to another Linux machine, over the network. Leave an ssh session by typing exit.
su [options] [user [arguments]]Switch to another user account.
tail [options] [filename]Display the last n lines of a file (the default is 10).
tar [options] filenameStore and extract files from a tarfile (.tar) or tarball (.tar.gz or .tgz).
topDisplays the resources being used on your system. Press q to exit.
touch filenameCreate an empty file with the specified name.
who [options]Display who is logged on.


Tuesday, June 25, 2013

PHP-Mysql tuning for Drupal projects

Hi Guys,

If we installed a lot of number of modules in Drupal project, we see some heavy weight process(CCK field creation, clear performance, saving views , enabling/disabling modules etc.) takes so much time to be executed. Please follow some tips and then enjoy the magic in speed :).

Note: Please take backup of these files before to implement these steps.


" Drupal" settings

  1. Disable the "update" module to check status of installed modules
  2. Disable unused modules

" php.ini" settings

  1. memory_limit = 512M 
  2. max_execution_time = 180s
  3. realpath_cache_size = 2M

" my.ini" settings

  1. innodb_flush_log_at_trx_commit = 0
  2. key_buffer = 160M
  3. max_allowed_packet = 20M
  4. table_cache = 64 
  5. sort_buffer_size = 5120K
  6. net_buffer_length = 80K 
  7. read_buffer_size = 2560K
  8. read_rnd_buffer_size = 5120K 
  9. myisam_sort_buffer_size = 80M

Thursday, June 20, 2013

Drupal 7 major database differences

I found some major differences in Drupal 7 database with Drupal 6 as described below in short:

Database 

  • Master/slave concept may be used for more than one databases
  • By default engine: Innodb

Cache 

  • There are more tables like cache_bootstrap, cache_field, cache_image, cache_update.

Comment 

  • New column "language"
  • Field API concept has been used

Field

  • field_config - The field_config table stores field configuration information.
  • field_config_instance -The field_config_instance table stores field configuration information.
  • field_data_body - The field_data_body table stores details about the body field of an entity.
  • field_revision_body - The field_revision_body table stores information about revisions to body fields.

Flood 

  • flood - The flood table controls the threshold of events, such as the number of contact attempts.
  • expiration int - New column  "Expiration timestamp, expired events are purged on cron run.

Files

  • files_managed - The files_managed table stores information about uploaded files.
  • file_usage - The file_usage table stores information for tracking where a file is used.

Images

  • image_styles  - The image_styles table stores configuration options for image styles.
  • image_effects  - The table stores configuration options for image effects.

Node

  • node - node table is almost same
  • field api concept has been used.

Session

  • ssid - New column in "session" table : Secure session ID; the value is generated by PHP’s Session API.
Taxonomy
  • Some difference in name of tables only 
  • field api concept has been used.

User

  • init - A field in "users" table saves E-mail address used for initial account creation
  • field api concept has been used.

Request: If any developer find any other major difference, please comment. 

Saturday, June 15, 2013

Steps to migrates a website Drupal 6 to Drupal 7

First steps and definitions:

  •   Make a full backup of all files, directories, and your database(s) before   starting, and save it outside your Drupal installation directory.  
  •    It is wise to try an update or upgrade on a test copy of your site before applying it to your live site. Even minor updates can cause your site's  behavior to change.

UPGRADE PROBLEMS

If you encounter errors during this process,
  •   Note any error messages you see.
  •   Restore your site to its previous state, using the file and database backups you created before you started the upgrade process. Do not attempt to do further upgrades on a site that had update problems.

UPGRADE STEPS

To upgrade from a previous major version of Drupal to Drupal 7.x, after
following the instructions in the INTRODUCTION section at the top of this file:
 
1. Check on the Drupal 7 status of your contributed and custom modules and
   themes. See http://drupal.org/node/948216 for information on upgrading
   contributed modules and themes. See http://drupal.org/node/895314 for a list
   of modules that have been moved into core for Drupal 7, and instructions on
   how to update them. See http://drupal.org/update/modules for information on
   how to update your custom modules, and http://drupal.org/update/theme for
   custom themes. 
   You may decide at this point that you cannot upgrade your site, because
   needed modules or themes are not ready for Drupal 7.
 
2. Update to the latest available version of Drupal 6.x (if your current version
   is Drupal 5.x, you have to upgrade to 6.x first). If you need to update,
   download Drupal 6.x and follow the instructions in its UPGRADE.txt. This
   document only applies for upgrades from 6.x to 7.x.
 
3. In addition to updating to the latest available version of Drupal 6.x core,
   you must also upgrade all of your contributed modules for Drupal to their
   latest Drupal 6.x versions.
 
4. Log in as user ID 1 (the site maintenance user).
 
5. Go to Administer > Site configuration > Site maintenance. Select
   "Off-line" and save the configuration.
 
6. Go to Administer > Site building > Themes. Enable "Garland" and select it as
   the default theme.
 
7. Go to Administer > Site building > Modules. Disable all modules that are not
   listed under "Core - required" or "Core - optional". It is possible that some
   modules cannot be disabled, because others depend on them. Repeat this step
   until all non-core modules are disabled.
 
   If you know that you will not re-enable some modules for Drupal 7.x and you
   no longer need their data, then you can uninstall them under the Uninstall
   tab after disabling them.
 
8. On the command line or in your FTP client, remove the file 
     sites/default/default.settings.php
 
9. Remove all old core files and directories, except for the 'sites' directory
   and any custom files you added elsewhere.
 
   If you made modifications to files like .htaccess or robots.txt, you will
   need to re-apply them from your backup, after the new files are in place.
 
10. If you uninstalled any modules, remove them from the sites/all/modules and
   other sites/*/modules directories. Leave other modules in place, even though
   they are incompatible with Drupal 7.x.
 
11. Download the latest Drupal 7.x release from http://drupal.org to a
   directory outside of your web root. Extract the archive and copy the files
   into your Drupal directory.   
 
12. Re-apply any modifications to files such as .htaccess or robots.txt.
 
13. Make your settings.php file writeable, so that the update process can
   convert it to the format of Drupal 7.x. settings.php is usually located in
 
     sites/default/settings.php
 
14. Run update.php by visiting http://www.example.com/update.php (replace
   www.example.com with your domain name). This will update the core database
   tables. 
   If you are unable to access update.php do the following:
 
   - Open settings.php with a text editor.
 
   - Find the line that says:
     $update_free_access = FALSE;
 
   - Change it into:
     $update_free_access = TRUE;
 
   - Once the upgrade is done, $update_free_access must be reverted to FALSE.
 
15. Backup your database after the core upgrade has run.
 
16. Replace and update your non-core modules and themes, following the
   procedures at http://drupal.org/node/948216
 
17. Go to Administration > Reports > Status report. Verify that everything is
   working as expected.
 
18. Ensure that $update_free_access is FALSE in settings.php.
 
19. Go to Administration > Configuration > Development > Maintenance mode.
   Disable the "Put site into maintenance mode" checkbox and save the
   configuration. 

To get started with Drupal 7 administration, visit

http://drupal.org/getting-started/7/admin