Saturday 15 February 2014

Drupal : A New ERA for Web Developer

          
Drupal in the present time, the most sophisticated CMS (Content Management System) on Internet. It's popular all over the world. It's main advantage is wide social network, which is still improving the system, and provides personalisation and security.. Its interface has made it possible for people with no knowledge of coding, to develop web-pages. Drupal is under GNU General Public License 2 (GPL) and contains a large amount of additional modules and themes. It's installation is very simple and the homepage Drupal.org includes information ranging from global news to useful tutorials which helps beginners and advanced users on how to sort out any problem that arise while developing the pages. Anyone can access the huge Drupal API and take a look inside the core of the system.
The core is written in PHP and cooperates with MySQL or PostgreSQL database engines. Drupal core works on a modular approach. There are a variety of other modules. Developers can simply download a module, copy it into the Drupal site and install it within the administration. Every module has its own functionality.

Main Purpose
       The aim of Drupal is to be the powerful engine of websites, which can simply build and handle every user. Drupal is still on the way, however the awaiting version 6.0 will provide lots of new features and improvements. This new version will make Drupal accessible to regular users. Drupal is now able to be extended by official modules to a variety of website types from a simple web-log to extensive e-shop or a huge application.

Requirements
       CMS Drupal is easy to install on most of the hosting programs. Its minimal requirements are: Web server, the best choice is Apache PHP version 4.3.3 and higher MySQL version at least 4.0 or PostgreSQL at least 7.0. Database user has to be allowed to CREATE TEMPORARY TABLES and LOCK TABLES. Some modules require .htaccess file and mod_rewrite support. 

Security
      Drupal is as secure and sometimes more secure than any other competitive commercial offering. It built on set of API that mitigate common security risks.
         Drupal addresses the OWASP(Open Web application Security Projects-https://www.owasp.org/index.php/Main_page) top 10 security risks:
  • SQL Injection Hacks
  • Cross site scripting
  • Broken authentication and session management
  • Insecure direct object reference
  • Cross site request forgery
  • Security misconfiguration
  • failure to restrict URL access
  • Non-validated redirects and forwards
  • Insecure cryptographic storage
  • Insufficient transport layer Protection
      These are very compelling reasons to ensure that your next site is built on Drupal .It is for these reasons that the White House(https://www.whitehouse.gov/),the Economist magazine(https://www.economist.com/) andseveral others have chosen Drupal.
(To determine the stack that a site runs on you can visit the site and view the technology profile using the 'built with' add-on for Firefox.)

Drupal's flexible architecture
     Drupal provides Web developers several pre-built components to get started and a set of tools to build a comprehensive content management solution. In short,Drupal provides a set of building blocks to web developer to rapidly assemble a site solution.
This makes it possible for the web development team to simultaneously make changes to several functions of the site without affecting the other development teams ability to propagate their changes.

Ease of administration
      Every visitor who lands on your website is considered a 'user' by Drupal.
To differentiate between types of users and determine their entitlements on the site,all those who have a user ID in Drupal are non-anonymous users and those who don't are called anonymous users. You can create various classes of users by defining roles and assigning users to them. You can then assign permissions to these roles so that users who are assigned those roles inherit those permissions.
Adding contents to site is as easy as sending out an email. provide a title and body of the contents, click 'Save' and your content is published. When you create content, you can choose to include an image ,ask Drupal to automatically create a menu link, provide a URL path where the page is accessible,decide to accept comments from visitors,etc. You can also decide to publish the page or save it as a draft to revisit it at later date.
However ,don't let this ease mislead you into thinking that Drupal doesn't provide enough for the power user. You can build you site's functionality by enabling contributed modules. There are modules available for almost every aspect of a site's functionality,like:
  • actions,work flows and triggers
  • CRM system
  • Advertising and commerce
  • Events
  • Search engine optimization
    and many more. If you at any time feel that these modules fall short of providing you the features you require,you can roll out your own module.
      Not really impressed ?Well,then you can create a new Drupal distribution if you wish. A Drupal distribution includes the Drupal core along with themes,modules,libraries and installation profile. At the time of writing this,there were no other CMSs that allowed you to do this.

Developing for mobile devices
          Drupal provides a layer of abstraction between native mobile apps(residing on the devide) and the Drupal CMS. Mobile apps can talk to Drupal using the 'services' module to fetch content, validate users,execute business logic,etc. If you instead wish to develop a web app that resides on your Web server,you can integrate it with the Drupal theme layers. You can use any of the available libraries like JQTouch, Jo, jqMobi,etc.
If you are planning on building a site for a specific device,there are module to detect your visitors device and redirect then to the respective URLs.
Several organisations across industry segments have built their sites on Drupal. Case studies can be found on the Drupal.org website at https://drupal.org/case-studies. These sites cover everything from the art, travel to hospitality. These studies describe the challenges and provide solution on how to tackle the complexities of building a complex websites.
Considering that Drupal provides several of the building blocks required to assemble a site, the depth of the knowledge available and the large user community ,it is worthwhile considering the Drupal platform for your next corporate site or web solution.

Pratik Dhanave
Firefox Student Ambassador
PICT,Pune