Drupal - The start of my programming journey


A little bit of history

After finishing my studies in Mechanical Engineering, I had 2 paths I could have taken my career to. In parallel to my engineering degree, I was following, part-time, a bachelor course in software engineering. I started the bachelor in software engineering when I was 15 years old. I loved learning about technology and I was intrigued on how internet was coming to my pc or how software were made. I was amazed by the amount of genius on our planet. There were people creating websites and doing online sales.

I did not have the knowledge of how all of this was done and I said to myself that one day I will have the capacity to do what those programmers are doing. So after finishing both of my studies, I got interviews in both fields. The first interview was in the Mechanical Engineering field and it was about supervising the maintenance sugarcane processing factories in Nigeria. Being in Mauritius, I felt that it would be nice to go and work in another country until my mom broke my excitement. 2 days after the interview, she was watching some documentary on TV about Nigeria and she saw people walking fearlessly with guns in their hand. That scared the sh*t out of her. No offence to my Nigerian friends, but the place looked dangerous and I made some research which persuaded me not to go. This was back in 2009 and I hope that the situation in Nigeria has got better.

The second interview was for the position of programmer at a firm who builds website for French companies. The outsourcing age was booming in Mauritius at that time. The specialty of Mauritians is that they can speak both english and french and hence are versatile. This is one of the reasons Mauritius is an attractive destination for investors. So I took the programming test which was quite quite easy in PHP as I did my final year project using that language. I waited some 30 minutes for them to correct the paper and I went into the director's office for the face to face interview. We discussed about my aspirations and my salary expectations. This was the first time that I heard about Drupal and I was curious about it. It looked complicated and not the typical final year project website. Once this was cleared, I went home not knowing whether I will get the job or not. In the evening I got a call informing me that I got the job and I could start tomorrow itself which was a Friday (I still remember my first day as if it happened yesterday).

At that very moment, I turned on my pc and started googling for Drupal. What it was, how to install it, how to use it... So many questions that I wanted answers to before my first day.

Drupal Power

 Launch, manage, and scale ambitious digital experiences—with the flexibility to build great websites or push beyond the browser. Proudly open source. (motto of Drupal.org)

Drupal is an open source content management system (CMS) that allows you to develop a website or software application very quickly. The back office is already designed and present. When you launch the Drupal package that you download from the Drupal official website , it will create the database and add the necessary tables.

You can choose which type of database you want and give the username and password. These information is written into the settings.php which you can later edit manually when uploading your website on a hosting plan.

Once the installation is over, the website is ready for use. You can create simple contents and put it on the homepage and the website is ready to go. It cost some 30 minutes to get a simple website up and running. In the installation bundle comes modules like menu, comment, dashboard, clean URL and many more. If ever there are any errors during installation, there is an error log that is created which you can view and rectify.

The best part in Drupal is that you do not need to write any code to get things done. You want to embed Youtube video into your content, you just have to download the module. There are modules for almost everything (Paypal, shopping cart, Uber cart, internationalization, color picker, ...) that you can download from the official website. There is even one module, named Commerce Coin, that allows for payment of goods using bitcoin.

If you are selling your goods and takes bitcoin as a payment method then this module is a must and you did not have to write any code for it.

For each module that you install, there is a page which is created where you can configure the required details. For the bitcoin module, the configuration page allows you to insert the wallet address of your store and customers can make payment directly without any manual confirmation.

The Drupal community is huge as it is one of the best open source platform that allows for such great scalability of your project. On each module page on the Drupal website, there is a section where you can view known bugs and even create a request for an issue to be solved. It also contains the usage of the module which will allow you to know on how many website the module has been installed and visit those website. The community will help you with any technical difficulties that you are encountering. It has its own wiki and you will get help almost instantaneously.

Apart from the wiki, each module that has been posted, has been vouched by the security group which checks for cleanliness, code structure and potential vulnerability / exploit that can result. Hence we can be pretty confident that the modules will minimise the risk of our site to be hacked. Each module having a vulnerability is patched at regular intervals and the updates are available directly on your site back office. You just need to hit the update button and the module will be downloaded and re-installed automatically. If ever there is an update available for a module, you will get an update notification on the site once you connect with an administrator account.

It is very easy to configure the permissions for your site. You just need a few clicks to create different types of profile and even choose which profile a user will be assigned to when creating an account. Till now as you can see we have not done any coding.

The next best part is the theme section. You do not need to know any CSS, HTML or JS for you to add font-end functionality. There are modules available that allows you to create a slideshow for the home page, menu design through another module, login screen with Facebook, etc. There is a huge library of modules from which you can choose. As for the theme section, you can choose one from the Drupal website. Whether you are looking for Bootstrap or Zend, the theme module is available. The theme modules allows for the configuration of the general appearance of your website. You can customise the colors, layout, header, sidebars and footer. If ever you do not like anything that you have added, the modules can be easily disabled or uninstalled. During the uninstall process, it informs you of module dependencies so that you can uninstall those as well if they are not being used by other modules. There are many more features to discover in Drupal. I have used Drupal 6 and Drupal 7 with Drupal 8 just released. 

Geeks

Now for the geeks, all modules can be modified. You will have the modules in the required folders and you can edit them using your favorite editor. Now when modifying the modules, there is one thing that we need to keep in mind. When an update for the module arrives from the Drupal community and you accept to install it, all the changes that you have made to the module will be overridden. To counter this problem, Drupal allows you to create your own custom modules where you can write hooks for any function or method in any module. Then when you will update, your hooks will not be overridden and your changes will be safe.

My Avatar explained

I dipped my professional foot into programming by using Drupal. It has allowed me to do research even while working. I like learning new things and be amazed by discoveries. I thought that after leaving university I will stop learning but this has been the reverse. This was the technology that defined my path in the IT world. Today I am working on other technologies but I still have a soft corner for Drupal. When doing some freelancing, I still use Drupal to reach my goal. Like the baby foot I took in the IT world, I am taking my baby steps into Steemit and I am still learning a lot after some 10 years knowing Drupal.


Hope you enjoyed reading about my journey and learned a thing or two about Drupal. Don't forget to Upvote, comment and follow

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center