Drupal - The start of my programming journey

in #tech7 years ago (edited)

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
Sort:  

Drupal is great! Like other CMS solutions(Joomla, Wordpress,..) it's great in the terms of modularity! I like usng these CMS solutions because they are very simple to setup and maintain. Also editing the themes, modules is relativly simple with basic programming knowledge.

Yes and this is what makes the beauty of such powerful CMS. But to be able to add custom functionalities, programming knowledge will be required.

Great post

"The best part in Drupal is that you do not need to write any code" so why do you think you are programming? :'D

This is one of the ability of Drupal! You can write your own codes, your own module and customising your own theme. If you are a geek, you can look into the coding part to develop your solution and if you are not a tech savvy, you can just get modules from the Drupal website and build your solution.

Heh, I know. I don't consider HTML programming, or using modules and working with a GUI. Now, if you actually write the Drupal modules, then you are programming - is what I was referring to.

I'd venture to say that Drupal will get most projects 90% of the way there without the need to write any code, the rest of the way typically requires custom coding.

Nice post here. As one whose first experience with a CMS was wordpress i easily fell in love with Drupal. It was designed to be easily extended, and has user management with permissions out of the box. Then you throw in "views", panels, and "rules" and you have unlimited power.

Oh!! A Drupal programmer here :) That's nice!!

Hi very nice post! Really love to see more web development posts here on steemit! How come you decided to go with Drupal over other open source CMS systems out there?

I did not choose Drupal. In the beginning of my career it was Drupal who chose me and I accepted the challenge. I have worked with other CMS like WP, Joomla, Magento, etc in the course of my career but I had the most pleasing time with Drupal.

I completely support, upvote and follow you from now on! As someone who is in Web Development industry for over a decade, you have been chosen well by Drupal. WordPress is to complicated when it comes to extensions of its main purpose Blog, but Drupal hits it hard and much stable as CMS platform.

Joomla (previously known as Mambo CMS) is to complicated for most of users/clients.

Awesome post!

Best regards to new colleague and friend in this community,

Digital Lucifer

P.S. You can read my article about WordPress (WooCommerce vs Magento) Part 01 (no need for upvote, its old now), but i think you will like it :)

https://steemit.com/software/@murda-ra/woocommerce-vs-magento-premium-web-development-part-01

Thanks for seeing the power of Drupal. Among all PHP CMS, this is the best and most one!

Checked your post and it is true that WP contains serious issues when it comes to huge traffic and performance. I got that for a client and he got pissed off. I offered him the Drupal solution for free and now he pays me for the maintenance :)

Exactly. Only problem, for example in Asia, is because people/users even web administrators/coders are dumb as fucks and Drupal is to complicated solution for them, just because WordPress is better supported with click n play commercial stuff/plugins, so sometime we as web agency are forced to fuck up the client with his own requests. Only advantage in Asia is... They are happy to pay and be fucked, just to not lose their face and to be how they want :)

But i do understand your choice completely :)

How have i missed this? Thank you for sharing it, i need to get drupal ASAP, checking out their website and community right now and god damn it, this is exactly what i have been looking for (badly looking for i might add).

You sir just got a follower and a uptvote.
Peace from Sweden!

Feeling honoured to be able to help. If ever you need any support of anything that is unclear, I can give you a helping hand. Cheers!

Thanks for the offer on support, might just take you up on that one in the future ;)

Drupal is awesome, been playing around with it all night, loving every second! Even if you are pretty good in programming, i have went some courses in C#, html,css and java, but all these modules just make´s everything so easy.

Letting me focus on my layout and viewer experience when designing instead of sitting countless hours trying to solve some programming bug.

Again, thank you for sharing, this sort of valuable content is why i joined forums like Steemit.
Peace friend!

Really glad that you have already started playing around. Maybe we can partner on something in the future :) Cheers!

Thanks dude really appreciate it :)

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by pisolutionsmru from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, and someguy123. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you like what we're doing please upvote this comment so we can continue to build the community account that's supporting all members.

VERY interesting. Would like to see a follow-up article on the history of Drupal, its founders, its motivations/inspirations/influences....

Thanks for reading through. I will do a follow-up article soon enough!