Wednesday, March 15, 2017

System requirements for Drupal 8

Browser requirements

Websites built using just Drupal 8 core are compatible with all modern browsers that support CSS and JavaScript.

Web Server

Drupal 8 works on any web server with PHP support.

Features of Drupal 7

Flexible content

Drupal 7 defines custom fields that can be used across content types, users, comments, terms and other entities. Store the data for these fields in SQL, NoSQL, or use remote storage.

 Theming

Control exactly what gets shown where on the screen with the new Render API and some truly radical alter hooks. The new RDF module provides semantic web markup .

Accessible

Administration screens are now far more accessible. Many front-end improvements make it easier for you to build highly accessible websites.

Images and files

Adding images to content is now built in. Generate different versions for thumbnails, previews and other image styles. Private file handling can now be used alongside public files.

Automated code testing

A new automated testing framework with over 30,000 built-in tests allows for continuous integration testing of all Drupal core patches and contributed modules.

Improved database support

A new database layer provides out-of-the-box support for SQLite, MySQL/MariaDB, and PostgreSQL. Install contributed modules to use MS SQL Server,Oracle, and more.

Better distribution support

Use installation profiles to distribute your custom Drupal product. A new API and exportable configurations let you capture more settings in code.

Extend

Thanks to a great community effort, over 800 modules are available or under active development for Drupal 7, including Views, Pathauto, and WYSIWYG, with more on the way every day

What is a node in Drupal

What is a node in Drupal ?

All content on a Drupal website is stored and treated as "nodes". A node is any piece of individual content, such as a page, poll, article, forum topic, or a blog entry. Comments are not stored as nodes but are always connected to one. Treating all content as nodes allows the flexibility to create new types of content.

How Drupal 8 is different from its previous versions

New Features of Drupal 8

Views :
Views is a contributed module in previous  versions. Now File structure has changed in Drupal 8, views is a core module in Drupal 8.
Object Oriented Programming :
Drupal 8 comes with Object Oriented Programming concepts for the most part of the system. Symfony framework used in Drupal 8. It has MVC architecture which makes the code easy to maintain, scale, and reuse.
Mobile friendly:
It is mobile friendly. The default themes uses responsive design. The purpose of responsive design is to change the layout based on the size and capabilities of the device. The new administration experience provides lightweight features.
Inline Editor :
The inline editor helps to edit the content of a page without going to the edit page. If you want to change some content in the body, then click edit and you can edit the content.
CKEditor : 
CkEditor is one of the core modules in Drupal 8. CKEditor is a visual html editor used for editing web pages. CKEditor is designed to bring common word processor features directly to the web pages which simplifies content creation.
Picture :
Picture Module is one of the new modules that have HTML5. It automatically resizes the image for different screens.
Multilingual:
Improved Multilingual functionality is another feature of Drupal 8. With Drupal 8 you can:
  • Multi-Translate anything in the system with built-in user interfaces.
  • Build web pages with Views language filtering and block visibility.
  • Get software translation updates automatically from the Drupal community.
REST :
REST stands for Representational State Transfer. Rest is a web service. REST is used to interact with other applications.
These interactions are mainly for creating, reading, updating and deleting resources.
New Field types :
  • Email Field : Email Field automatically validates the e-mail address and generates a 'mailto:' link when displayed.
  • Telephone : Generates a 'tel:' link when displayed. Useful for telephony apps like Skype and other phone systems for making calls.

Drupal Installation Guide

Steps to install drupal


  1. Download the installation file from Drupal's official site by choosing the latest stable version and clicking on the download link next to the package.
  2. Upload it in the public_html folder of your account. You can do that through an FTP client like FileZilla or via cPanel -> File Manager -> Upload file(s). This way, after the installation is completed, the script will appear once your write something like http://yourdomainname.com in your web browser. Or you can create a subfolder there and upload the file in it. The Drupal installation will be available at: http://yourdomainname.com/subfolder.
  3. Once you are in the File Manager, please navigate to the uploaded file and extract it by clicking on the Extract link. It will create a subfolder: drupal-x.x.x., where instead of x.x.x. is the current version. So you can move the files one level up in the desired directory. The other option is to extract the file in your computer and then to upload the content in the desired folder via FTP.
  4. Once the files are extracted in the desired folder, you should create a MySQL database for Drupal. You can do that from cPanel -> MySQL Databases. There you should create a database and add a user to it - click here to learn how to create a MySQL database and user.
  5. Navigate to the URL of your Drupal site and run the install.php file (for example http://yourdomainname.com/install.php). Pick the default profile option for your Drupal application.

How open source is taking over

The term "open source" refers to something people can modify and share because its design is publicly accessible.
Content management systems are wide and varied. There are tons of them on the market, some are proprietary but a very large amount are created under an open source license. The reason for this is simple; it allows a small team of developers to become a bigger team by opening up their code to a wider community of users who may wish to contribute or provide enhancements.
Image result for images of open source software

This is one of the greatest strengths that open source products have; the often large pools of available developers. Of course, like anything, there can be downsides as well but lately, we've seen more and more open source products become viable options for companies in search of stable, regularly updated platforms on which to run their businesses. Today, I'm going to share with you my thoughts on how open source CMS' are taking over the world.

WordPress vs. Drupal

The comparison between these platforms really comes down to two things: your skill level, and the complexity of your project. WordPress has a pretty massive following, and it’s easy to see why: it’s easy to learn and not hard to find your way around. For anything from simple marketing sites to bigger multi site installs, WordPress is technically easier to use and also very well engineered. Drupal is going to ask a bit more from you to make the most of its amazing features. It can rise to the occasion of the most complex of sites, and keeps security locked down.

There are a few questions that can help guide you to which platform is best for you, including:

  • What are you building? Consider performance of your site if you’re planning on having thousands of pages and a high volume of traffic. Drupal can support super complex sites; WordPress can too, but watch for overhead on the server.
  • What’s your budget? Depending on your site, development with Drupal can take longer than WordPress, which can get more expensive.
  • How many users, contributors, or admins are you going to have? How many different users (and user permissions) will you need to have set up? WordPress makes it very easy to add a number of users with its standard roles and permissions.
  • What are your template needs? How many types of content are you going to have, and how many require different templates? The more complex your site, the more you might want robust features that are available from Drupal.
  • What are your security requirements? Are you enterprise level, needing comprehensive security measures?

Drupal Interview Questions

Name and describe the five conceptual layers in a Drupal system.

The five layers in Drupalstarting from the bottom layer, are as follows:
  1. Data (nodes, etc.). Before anything can be displayed on the site, it must be input as data.
  2. Modules. Modules are functional plugins that are either part of the Drupal core or are contributed modules that build on Drupal’s core functionality.
  3. Blocks and menus. Blocks can be used to present anything, so just about any piece of content on a Drupal site (other than main content, breadcrumbs, and primary/secondary menus) is usually a block. Blocks are an extensible core feature of Drupal with a simple API provided by the block module. Blocks are similar to “widgets” in content management systems, but are highly generalized. Menus are a collection of links (menu items) used to navigate a website. The Menu module provides an interface to control and customize the menu system that comes with Drupal. By default, new menu items are placed inside a built-in menu labeled Navigation, but administrators can also create custom menus.
  4. User permissions. User permissions are defined for various roles and users are assigned to these roles in order to grant them the defined permissions.
  5. Themes and templates. The top conceptual layer of the drupal architecture is the theme. This consists primarily of XHTML and CSS, with some PHP variables intermixed, so Drupal-generated content can go in the appropriate spots. Also included with each theme is a set of functions that can be used to override standard functions in the modules in order to provide complete control over how the modules generate their markup at output time. A theme may contain one or more templates, depending on the complexity of the site and the way it has been designed.

What is Drupal’s taxonomy system and what are some of its key features?

Drupal comes with a built in taxonomy system that allows for categorization of the nodes on a site.
The taxonomy system allows for arbitrary definition of terms, as well as arbitrary organization of those terms into vocabularies. There is no limit to the number of vocabularies that can be created, nor is there any limit to the number of terms that can be included in a vocabulary.

Describe the Field API that was introduced into core in Drupal 7.

The Field API allows custom data fields to be attached to Drupal entities and takes care of storing, loading, editing, and rendering field data. Any entity type (node, user, etc.) can use the Field API to make itself “fieldable” and thus allow fields to be attached to it. Other modules can provide a user interface for managing custom fields via a web browser as well as a wide and flexible variety of data type, form element, and display format capabilities.
The Field API defines two primary data structures, Field and Instance, and the concept of a Bundle. A Field defines a particular type of data that can be attached to entities. A Field Instance is a Field attached to a single Bundle. A Bundle is a set of fields that are treated as a group by the Field Attach API and is related to a single fieldable entity type.

What modules do you always recommend to your clients?

Before you ask this question, check out the Drupal module usage statistics page on drupal.org. Your candidate should be able to recommend a number of modules in the top 30.
Prompt your candidate to explain why they recommend each module. They should be able to give you a plausible-sounding explanation. If they recommend a particularly unpopular module, ask them how well it is supported.
Follow-up questions:
  • Why do you recommend that module?
  • How well is that module supported?
  • Have there been any recent vulnerabilities with that module?

How does caching work in Drupal?

One of the common (mostly unfounded) complaints about Drupal has been, "Drupal is slow." You want to hire a developer who understands Drupal's built in caching system, and what its limitations are. For example, Drupal 6's block cache will not appreciably speed up the page if the user is logged in.
Ask your candidate to recommend some additional solutions to speed up Drupal's caching. These could include the Boost module, Varnish, Squid, Memcache or Pressflow. Ask if they've ever run into issues with Drupal's cache.
Follow-up questions:
  • What else can you recommend to speed up Drupal?
  • Have you ever run into issues with Drupal's cache?
  • How did you solve them? Know More

Tuesday, March 14, 2017

All About Drupal

What is Drupal

Drupal is a free and open source Content Management System (CMS) that allows organizing, managing and publishing your content. It is built on PHP based environments. This is carried out under GNU i.e. General Public Licence, that means everyone have a freedom of downloading and sharing it to others. This tutorial will teach you the basics of Drupal using which you can create websites with ease.

What is Content Management System?

The Content Management System (CMS) is a software which keeps all the data of your content (such as text, photos, music, documents etc) which will be available on your website. A CMS helps in editing, publishing and modifying the content of the website.

Why to use Drupal?

If you are developing a website with content management system, Drupal CMS is very flexible than any other CMS. Drupal is very powerful and can be used for building large, complex sites. It is PHP based template and allows non-technical users to add and edit the content without any HTML or Web design knowledge. Using Drupal CMS, it can be easy to interact with other sites or technologies and can handle complex forms and workflows. It is available with more than 16000 modules which can be addressed with Drupal core and add-on modules.

Features

  • It makes easy to create and manage your site.
  • Translates anything in the system with built-in user interfaces.
  • It connects your website to other sites and services using feeds, search engine connection capabilities etc.
  • Drupal is open source software hence requires no licensing costs.
  • It designs highly flexible, creative website to the users and display more effectively to increase the visitors.
  • Drupal can publish your content on social media such as Twitter, Facebook and other social mediums.
  • Drupal provides more number of customizable themes, including several base themes which are used to design your own themes for developing web applications.
  • It manages content on informational sites, social media sites, member sites, intranets and web applications.

Advantages

  1. Drupal is a flexible CMS that allows handling content types including video, text, blog, menu handling, real-time statistics etc.
  2. It provides a number of templates for developing web applications. So there is no need to start from scratch if you are building simple or complicated web applications.
  3. Drupal is easy to manage or create blog or website. It helps to organize, structure, find and reuse content.
  4. Drupal provides some interesting themes and templates which gives your website an attractive look.
  5. Drupal has over 7000 plug-ins to boost your website. Since Drupal is an open source, you can create your own plug-ins.

Disadvantages

  1. Drupal is not user friendly interface. It requires advanced knowledge and few basic things about the platform to install and modify.
  2. Drupal is new content management system. It is not compatible with other software.
  3. Performance is low compared to other CMS's. The website which is built using Drupal will generate big server loads and never opens with a slow internet connection.

How Drupal is better than other CMS(Drupal,Joomla and wordpress)

All three(Drupal, Joomla and wordpress) are open-source software, each developed and maintained by a community of thousands, and all are free to download and use. The open-source format means that their platforms are continuously being improved to support new Internet technologies, and basic functions can be continuously enhanced with an ever-expanding array of add-ons, contributed from their respective communities.
Your choice depends on your goals, technical expertise, budget and what you want the site to do.
  • For a simple blog or brochure-type site, WordPress could be the best choice (while very friendly for non-developers, it’s a flexible platform also capable of creating very complex sites).
  • For a complex, highly customized site requiring scalability and complex content organization, Drupal might be the best choice.
  • For something in between that has an easier learning curve, Joomla might be the answer.