What is Drupal
Drupal is a web application.
Why is the web application? Because it is distributed.
Distributed means, you have a front end for that you have a backend for that and you will also have the database layer.
So it’s a Content Management System, a CMS.
What does a Content Management System mean?
It simply means that it has some interface like a form in which I can put in some data and I can store that data.
okay now this CMS is built on PHP it’s open source and a gpa licensed.
So open source means that code is readily available for download, you don’t have to pay for it, you can use portions of that code in your own applications.
Because Drupal has a lot of features and a lot of functionality and because it’s very scalable.
It’s used in a number of domains, so it’s used in media and publishing for example it’s used in the journalism industry and it’s used in healthcare.
It’s using e-commerce. I think the greatest applications of Drupal are in the e-commerce domain.
e-commerce is always shopping carts and all that because Drupal has that ease and flexibility.
So you can see that Drupal is a very flexible system in the sense that I can extend the functionality of Drupal.
It’s not a very difficult thing to extend the functionality.
Because it has hooks it allows you to enter data in the back end it allows you to filter the data it allows you to even process it.
It means that the code has to be written in modules now this modularity concept is an object oriented concept.
Concept of an Object Oriented.
So you have classes in groups object-oriented technologies in which the purpose of a class is for data encapsulation.
Another purpose of class is also for reusability. You can reuse that code if you write a class using something called interfaces.
So the purpose of a module is first of all to break up one big piece of code into small pieces of code.
Which can be reused and which can be distributed and Drupal enforces that kind of a way in which you can build your code.
Secondly, it’s scalable and scalable means i can use, i can integrate Drupal with other third-party services.
For example, what if I want to build an angularjs application.
So I can have an angularjs application which is the front-end interface and I can integrate that with Drupal.
And I can use Drupal only for the admin part, that is only to get content from the user in the administrator to process that content.
And give that content to angularjs and let angularjs do the rest.
The biggest application of using a scalable Drupal system is in media and publications.
Where you have probably some magazines or some media applications in which you will be putting content in the backend.
But you can transfer this content to other platforms in different formats like the xml format or the rss format.
Basics of Drupal.
Drupal has a huge repository of modules, so there are like thousands and thousands of modules over there.
This is the flexibility and for every little thing there is a module and this also has become the biggest drawback of Drupal.
Because it has made programmers lazy you don’t have to actually write any code.
Even for a small little thing like displaying the breadcrumb on the page there is the module.
So you can look up that easy breadth module then it has a huge number of open source themes.
Some of them are paid but some of them are free to use.
Drupal has one of the largest number of contributors in the world contributors from different domains who provide support.
So maybe just google for some Drupal request and you will get answers on stack overflow.
People also has its own communities and forums, it has a huge number of Drupal Developers like there are more than one million Developers.
Who not only contribute to external modules from the contributing modules but they also contribute to the core to building the core of Drupal.
If you go on drupal.org you will see a huge list of documents, it has strategies, this is very important because strategies are people that decide.
Like, what goes into the Drupal core and how the architecture of google should be built etc.
What is the drug stack?
It just means how the Drupal architecture is built, Drupal 8 and 9 are built on the symphony framework.
Symphony is another framework which provides the core services such as routing.
Routing is when an address is given to it that creates a request object it will pass that request object to some controller.
Which does further processing and then a response is written.
Drupal core or the developers of Drupal don’t want to rewrite this entire thing all over again.
So they have used services from the symphony framework, which does all these requests, response objects etc.
The routing is handled by symphony on top of that is built a Drupal core.
It’s also called a Drupal kernel in that Drupal core we also have some modules which are called core modules.
And I mentioned earlier that Drupal enforces code to be put in modules so that these modules can be reused.
Some of the core modules are mentioned over here like node block views user for user management.
There are modules which other people have also contributed which are called contributed modules.
Custom modules are what you will write specific to your project and above all these things we have the theme layer.
The theme layer is responsible for taking the content.
So Drupal code is like the main controller which will coordinate with all your modules.
All this content will then be generated and sent to the theme layer.
The theme layer will process this and it will finally render the output to your web browser
So this data is sent to your web server the web server will then send the data back to your web browser.
How does this entire mechanism work?
local computer pass an address like my Drupal site dot com slash hello world
From the browser the request is made to the remote computer or to a web server called apache or nginx whatever we are using.
Based on the document root the project is looked up by the web server and the request is sent to index.php of your Drupal site.com project in index.php.
It will construct this request object and it will pass the request object to the Drupal column.
A Drupal kernel is also called the Drupal core and what is its responsibility is to initialize.
So bootstrap is a word you might have heard like your computer getting bootstrapped it just means self startup.
So Drupal also has a bootstrapping process which starts up the entire application.
It will take services from the symphony framework, it will initialize all your core modules.
It will also initialize the contributed and customer modules and then it will try to process the content for the page called hello word.
So if the hello dashboard is an article then it will take services from the node module.
The node module will prepare the content and then send it to the theme layer.
The theme layer constructs the response object and sends it back to your web server.
Now the response object can have different types, it can be json it can be just plain text.
It could be xml so based on the header that information is sent to the web server and then it is finally sent to your web browser.
So this is the basics of Drupal.
In the next session we will see installation requirements of Drupal and many other important lessons.
Till then stay tuned, fill the below form to give your feedback or in case of any query feel free to contact us at +91-124 294496 or drop us a mail at [email protected]