Feeds

Author

Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Feb 23 2021
Feb 23

Project Management is easy. It is like riding a bike. Except the bike is on fire. You are on fire. Everything else is also on fire.

A whole set of easy-looking tasks with enormous responsibilities to take care of - Yes you guessed it right, we are talking about "Project Management" - a task which seems easy to everybody else but to the one who is doing it. While the main intention of project management is to complete the project with less struggle and to deliver it within the budget and on time, not everybody has an idea about how much planning, strategizing, and communication it involves.

The other day I was curious about what Drupal.org has to say on project management. Nothing less than a bible for all Drupal developers, I was sure to find something of my interest for Drupal project management, & I was not surprised to find a set of Drupal Project Management Tools (a suite containing several components, structured as Drupal modules) But what left me wondering was, are these tools and project modules enough to achieve a Drupal project's goal. As a Drupal project manager, tools are just not enough to bring the scope of a Drupal project to completion. From Drupal website design to development and maintenance, there is a lot more to Drupal Project Management and it is certainly not one of those tools.

Drupal Project Management - What no one is talking about

Preparation

Irrespective of your approach or methodology and the type of project to be handled, Drupal requires preparation. From objectives or goals to the time frames, you need to be quite clear with what the client requires and this is possible only if you and your client are on the same page. Inputs from your team who are experts in Drupal will be your trump card in the process of planning and preparation. This will not only enable you to come up with better time frames, but you would also be able to know the prerequisites, interdependencies, and work conditions.

Never fail to miss critical inputs irrespective of how small they are to the Drupal project. You might end up missing something valuable.

Communication - Keep it Open

Always keep the communication lines open. It might be from your team, the client, or even the end-user, every input is important. Though the inputs might not be from a Drupal expert, it might still be something that you could have missed or you don't even have a clue about. This type of open communication makes managing your Drupal project easy as the success entirely depends on this. Good communication allows you to discuss challenges, roadblocks, and risks associated with your Drupal project, which in turn helps you focus better on your goal.

Time Management

The bad news is time flies. The good news is you are the pilot - Michael Altahuler

Time management is the most important factor of a Drupal project. But before you even jump into the pit and start juggling multiple tasks to ensure you manage everyone else's time, you better be good at managing your own time! And the good news in a Drupal project is that everything can be broken into smaller tasks for you and your team. Irrespective of its size, breaking down your project into smaller tasks helps your team to visualize and focus in a better manner. Keep it simple and keep it real.

Take Feedbacks Seriously

Never be reluctant to receive feedback from anybody related to your Drupal Project. Feedbacks are the step to improvement & we all need people who can give us such feedback. Feedback helps you realize your mistakes and learn ways to tackle them going further. Such constructive criticism helps in stabilizing the project before it goes off the deck completely. What is better than staying one step ahead from yesterday and performing in a superior way?

Transparency: Key to Success

You need to ensure that there is a high level of transparency between your client, the core team, and the extended project team. One way of doing this is by keeping them proactively in a loop. This corroborates trust-building and open communication between the team members. For example, if there is a delay in your Drupal project, let the client know about it! Never end up in a place where they come looking for you.

Add some Spice

Coming together is a beginning, keeping together is progress, working together is a success. - Henry Ford

Teamwork is by far the best possible way to handle any hassles in your Drupal project. Bond with your team, take a day or two out from the busy schedule to do something fun. Research has proved that such activities help people work more efficiently on a project. As a matter of fact, Drupal development companies around the world conduct Drupal cons and Drupal meetings to create a bonding between developers from around the globe.

Know Your Tools

While all the above-mentioned points play a major role in Project Management, you still need to know your tools/modules in order to successfully deliver your project.

The most popular tools in the market are the ones that help you break down your project into various tasks and sub-tasks. Most of the tools provide additional capabilities or features required for better project management.

Some of these tools include Jira, Trello, Redmine, Zoho, etc.

Drupal offers quite a few modules that can play a major role in assisting Project Management. Though Drupal 8 does not quite yet provide a suite of tools, the list includes some good modules.

Feb 09 2021
Feb 09

Are you among those who are still wondering if your web application really demands a front-end framework? With names like React, Angular, Vue, Backbonejs, Emberjs and jQuery hitting the tech market, choosing the best front-end framework for your Drupal website is another added conundrum. Read on to find answers to these popular questions that can help you make a better decision in choosing the best front-end framework for your Drupal website.

Front End Frameworks for Drupal

Why do you need a front-end framework?

Today's world is a close reality to something I dreamt of as a child. A world run by devices, the technology they use and their potential to change the future. New interfaces and devices have brought in sweeping changes to transform the web as we know it. Technologies like Artificial Intelligence and IOT have started to establish and make an impact in the digital world. This impact has changed the way we perceive a future with seamless, feature rich websites.

However, while newly web-enabled devices continue to dominate, we have evolved the way we develop for the web. Though the content remains the same, delivering this content differs from one to another based on requirements and complexities. The next generation of user-experience is here and websites are expected to function seamlessly and instantaneously.

With such requirements, it is tough to stick with the old solutions. While it isn’t impossible to build a complex yet awesome UI/UX with plain HTML and CSS, implementing one a front-end framework does reduce some bulk and messiness off as your front-end grows. Not surprisingly, most of the bigwigs like Airbnb, GitHub, Forbes, Netflix, Pinterest, PayPal, etc., who offer outstanding user-experiences, implement popular front-end frameworks like React, Angular and Vue.

Headless Drupal and Front-end frameworks

While Drupal can handle the backend beautifully, it isn’t as flexible in terms of its front-end capabilities. The need for modern, intricate, dynamic and application-like front-end interfaces gave rise to headless Drupal or decoupled Drupal as we know it. In a headless Drupal architecture, developers have the flexibility to build the front-end on their own without using Drupal. While Drupal still serves as a backend repository, front-end frameworks can talk to the database via API calls.

But how do you pick the right front-end framework for your Drupal website? While every framework has its own set of pros and cons, the choice largely depends on the needs and business requirements for the project. Let us discuss in detail.

AngularJS

The most preferred front-end framework on the list, Angular JS, is a developer's favorite when it comes to interfacing with Drupal. It lets you create feature-rich dynamic web applications and allows Drupal to work more efficiently, resulting in a dynamic, secure and a gripping Drupal website. Backed by Google itself, this open-source framework allows you to do handle your user's browser without having to fetch data from your server.

Things Developers Love about Angular

  • Extremely light weight and extensible with a wide scope of features.

  • An interactive framework, a result of which is great functionality like the two-way binding, which allows user actions to immediately trigger application objects.

  • Developers love HTML and the fact that AngularJS uses plain HTML templates that can be easily re-used, modified or extended, allows them to build interactive feature-rich web applications.
  • With a client-side nature, AngularJS does a great job in handling cyber-attacks as any data looking to breach the security cannot get anywhere near the server.
  • Immense community support which provides answers, tutorials and used cases, with well-developed documentation.

Drupal & AngularJS

With the user expectations growing with each passing day, decoupled Drupal or headless Drupal as it is commonly known, is gaining more popularity these days. The idea is to take advantage of Drupal's flexibility and powerful back-end capabilities while using a front-end framework to handle the client-facing interface. What better option than the interactive AngularJS to do the talking to the browser while Drupal takes care of the feature filled back-end.

Also, AngularJS does a great job in offloading Drupal from some of its logic and helping Drupal function effectively at the back-end. By moving display logic to the client-side and streamlining the back end will result in a site that performs better and faster.

VueJS

Created by former Google employee Evan You, this incredibly adoptable JS has quickly gained recognition among developers. A JavaScript library for building modern web interface, it provides data-reactive components with a simple and flexible API.

Things Developers Love about Vue

  • With a subtle learning curve and a component model, Vue stands on the shoulders of giants to provide benefits of reactive data binding and composable view components with a simple API.
  • A combination of React's best - Virtual DOM and Angular's best - two-way binding, allows VueJS to perform efficiently and improve the performance of the websites.
  • Real-time monitoring of the progress in development with a built-in state management is an added advantage.
  • Vue JS follows a component-oriented development style with modern tooling and supporting libraries. With a simple-to-use syntax, people who are using it for the first time find it easy to adopt.
  • VueJS is one of the top trending JS frameworks on Github.
  • It is highly supported by an awesome community and adoption within the PHP community which does a great job of maintaining good documentation.

Drupal & VueJS

Vue allows developers to request and store Drupal content as data objects using the official Vue-Resource plugin.

In combination with Vue, Drupal can exhibit its magic at the back end while the compelling features of the JS handle the client side. The component system in Vue is one of its most powerful features that allows large-scale application building which comprises small and self-contained reusable components.

ReactJS

ReactJS is more of a library than a framework, used to build user interfaces that work on a concept of reusable components and aim to solve the issues created by the slowness of the DOM by replacing it with the virtual DOM structure. An open-source project maintained by Facebook, ReactJS is the go-to option for some of the biggest corporations for a fast and seamless client-side user experience.

Things Developers Love about React

  • By nature, ReactJS is very readable and easy to understand thus making it easier to understand how components render from their source files.
  • ReactJS does a great job in combining HTML and JavaScript into JSX, which is a great asset for developers as the complexity between HTML and JS is eliminated.
  • With Virtual DOM, React can easily process large amounts of data in an efficient manner by monitoring the lightweight virtual DOMs.
  • Rendered extremely fast, ReactJS is a great option to build speedy public facing apps and sites that are smooth and offer a best in class UI experience.
  • A ton of proper documentation, invaluable tools, add-ons and more which are available to developers, courtesy of constant contribution by Facebook towards the development of React.
  • It is highly supported by an awesome community and adoption within the PHP community which does a great job of maintaining good documentation.

Drupal & ReactJS

A hybrid approach to use React for dealing with the UX complexities while relying on Drupal for handling the content can be an added advantage which easily allows consistent mapping of Drupal and React components.

With Drupal, one of the major weaknesses that hinder its performance is the way it consumes and displays the structure of content to the end user. This goes out of hand when the user interactions are complex and even the combination of Twig with JQuery is not good enough to match the complexities. However, integration with a modern library such as React provides all the necessary modern mechanisms that do a great job in building seamless, rich user experiences.

Jan 12 2021
Jan 12

The term Drupal invokes different feelings among different people, based on their professional background or on what they have heard or learned about the CMS. Over the years, Drupal CMS has evolved from a simple tool for hobbyists to a powerful digital experience platform for global enterprises. While Dries describes Drupal as a platform for "ambitious digital experiences", it is commonly referred to as a content management framework that allows for extensibility & scalability through the addition of various user-created modules that build upon its core framework.

Since Drupal 8 and its adoption of continuous innovation, new features and modern libraries are being added with every bi-yearly release. Drupal 9 is out already with its first feature (minor) release of Drupal 9.1.0 last month and we are already seeing the fulfillment of some of Drupal 9's strategic initiatives. With Drupal, promises are always delivered. And this is something every organization, big or small, looks for in a CMS. 

Still confused about moving to Drupal 8 now or Drupal 9 later
 

Drupal for everyone - ease of use

Popularity

Drupal is one of the most popular CMSes currently available & is the preferred choice for government agencies, large associations, non-profits & numerous Fortune 500 companies. Currently, over 1,738,777 websites around the world are built on Drupal. 

This graph compares the trend for the term "Drupal" with another popular CMS "Joomla" over a period of 3 years & it clearly depicts the growth of popularity of Drupal.

image

But why do large enterprises prefer Drupal? Is it as "easy to use " as they say? Let us find out.

Features for Everyone

One of the toughest challenges that Drupal adopters face, whether they are new site owners or novice developers, is trying to figure out what is difficult & what is easy with Drupal. Most of their questions revolve around the ease of use that Drupal as a platform brings to the table. Let us look at some of the basic (yet important) features that Drupal CMS provides to website owners.

Installation

For Drupal installation, more than the “technical knowledge”, you will rather than just need to know how to connect through FTP and install databases. Once you are ready with your prerequisites for the Drupal 8 installation, it will hardly take you minutes to complete the entire set up. The installer performance has been improved by 20% in Drupal 9.1.0 which makes installation faster and easier. Would you believe me if I say that the installation time of Drupal CMS for a new user with knowledge of general installation of other systems might be less than “One & half minute??”

image

Maintenance and Upgrades

One of the main focus areas for Drupal 9.0.0 was to improve its upgrade experience. And so it has. Upgrading to a major version is also as easy as upgrading to a minor version. This has been clearly witnessed on the Drupal 8.9 to Drupal 9 upgrade. 

Drupal CMS ensures that the maintenance and upgrades are easy to handle by the site administrators. The procedures for updating your website include backing up the website and then replacing the files using a web update interface.

Backing up the website takes minimal effort as the site administrator can back up the whole website by downloading only one file which contains the assets of the website.

Drupal also notifies the site admin every time an upgrade is required, thus ensuring that the website never misses an opportunity to stay up-to-date. However, if the administrator does not wish to change the version, Drupal CMS also provides security updates for the previous versions. For example, even though Drupal 9 has released June 2020, Drupal 7 still continues to receive support from the community.

Community Strength and Contribution

The unofficial tagline of Drupal - “Come for the Software, stay for the Community” speaks volumes about the strength of the community. Functioning well since 2001, the Drupal Community is known for its dedicated bunch of developers and contributors who use, build, teach, document and market the best practices in Drupal. You can find their amazing works on Drupal.org.

Usability

Drupal CMS allows administrators to access any page or a section of the page in visitor mode by clicking on edit. While the core does not include a WYSIWYG editor, you can still get it in the form of a module, replacing all the other editor integration modules. Drupal CMS allows easy editing of pages or sections of a page by creating a simplified experience for the editors and administrators.

Scalability

Drupal CMS is highly scalable with high traffic handling capabilities. Its web pages are cached indefinitely as the default setting configuration, but can also be manually cached for a specific time. Moreover, functionality area blocks can be cached, thus allowing better traffic handling capabilities for your websites.

Whether it is the extreme traffic spikes on certain occasions or the constant web traffic, Drupal handles all of that with utmost ease. Did you know that the digital experience of Australian Open 2019 was powered by Drupal? Like Dries said “When the world is watching an event, there is no room for error!”

Web 2.0 Features

Drupal CMS is an excellent community platform provider and It outperforms all other options in this particular area. The platform allows a website administrator to set permissions for site visitors to comment on any content of website.

Drupal also facilitates administrators to set permissions on who can edit, create or delete various content types. It can be an article, pictures, videos or any other media files, everything managed by the admin.

Security

Security is a major concern for web properties these days and Drupal leaves no stone unturned to ensure that your website is secure from any possible security breach. Security updates are published on drupal.org and the users are provided a notice every time a new update is released. Drupal’s active community is alert and any security loopholes are remedied very quickly. They also provide references to guide the user in making a site more secure. 

When it comes to security, Drupal wins hands down when compared to other opensource CMSes in the market today. Check out these statistics below which compares the number of sites that have been compromised by these popular CMSes in 2016. Drupal accounts only for 2% of the hacked websites according to this research.

Drupal security comparison

User Roles and Workflow

The greatest asset of Drupal CMS is its ability to create any number of user roles and assign different permissions. While Drupal’s core includes two default set of roles, anonymous user and authenticated user, it allows you to create multiple user roles depending upon the content types. Also, granular permissions to each user can be assigned based on content section using the taxonomy function.

image

How Does Drupal Make Things Easy?

  • Advanced Control of URL: Drupal provides a precise control over URL structure of a page. Each content item which is called node in Drupal can be given a custom URL. Also, the path auto module can automate custom URL structure for each content type.
  • Custom Content Types and Views: Using Views and the Content Construction Kit (CCK), Drupal allows you to create new content type without having to write a single line of code! Yes, any number of custom content types can be created and displayed in many different ways without any code! Some examples of content types that you can create are forum posts, tutorials, blog spots, news stories, classified ads, podcasts, videos and more.
  • Themeing and PHP Template: PHP knowledge for themeing? No, not anymore! Themeing in Drupal can be done with absolutely no PHP knowledge. Drupal CMS uses PHP template theme engine by default.
  • Hook System: This system in Drupal enables you to hook in new modules easily. This hook system is invoked when a particular activity is performed in Drupal. This approach allows Drupal core to call at specific places certain functions defined in modules and enhance the functionality of core. They make it possible for a module to define new urls and pages within the site (hook_menu), to add content to pages (hook_block, hook_footer, etc.), to set up custom database tables (hook_schema) and more.

I completely agree with Dries when he said that Boris nailed it!

Drupal sucks less - Dries Buytaertimage

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web