Upgrade Your Drupal Skills

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

See Advanced Courses NAH, I know Enough
May 16 2017
May 16

With Drupal, there is no need to reinvent the wheel — the wheels are already in full motion! The vigorous community has created tons of ready made elements that make development easier, quicker and cheaper. What’s not covered by them can be custom made to fulfill whatever your heart desires. A great example are the contributed modules that Drupal has for all purposes, with custom ones being built for special features (see ready-made vs. custom-made modules). Today, we’ll consider one more example — Drupal distributions, and particularly OpenFed. So let’s set the wheels turning and look at some more details!

Drupal distributions and their mission

Distributions are pre-configured Drupal versions that include the core, specific modules, themes, libraries, etc. They can serve as awesome starter kits for site builders and developers. Distributions help them quickly set up even complex websites in specific fields (business, non-profit, government, corporate, blogging, social, and more), since many of them are specifically tailored to these uses. They can also be very suitable for website migrations from older versions.

After installing a distribution, you can continue configuration and customization and reduce the overall development time and costs.

In addition, these “kits” allow you to compare various options and present demos to customers. When it comes to newbie drupalers, they are also a great help to let people practice site building.

A great example: OpenFed distribution

Examples are worth a thousand words, so we will now focus our attention on OpenFed, a Belgium-made multi-purpose and multilingual distribution. It is very well suited for sites for public administrations, campaigns, events, and more. In Belgium, its motherland, OpenFed has become a kind of a standard for government websites.

Let’s take a look at the contents of OpenFed. It includes:

● A set of content types for meetings, job postings, photo galleries, etc.

● CKEditor

● Support for cool search tools

● A set of layout customization modules

● A set of security modules

OpenFed for Drupal 7 and Drupal 8

OpenFed is available for both Drupal 7 and Drupal 8. If you are using Drupal 7, you need to be equipped with PHP 5.3.5 or higher, set your PHP memory limit to 192-320M, and never forget to enable HTTPS on your web server. As far as Drupal 8 is concerned, there is a major recommendation to use Composer for installing OpenFed as well as maintaining your project.

OpenFed: development or migration

Our experience shows that building new websites and migrating old ones on the basis of OpenFed can be a very neat, convenient, time and cost-efficient decision, and strongly appreciated by customers.

Distribution or not?

In any case, the choice of whether to rely on a Drupal distribution like OpenFed or another distribution, as opposed to working with a clean slate, depends on several factors. They include: how relevant or similar your project is to the distribution “sample,” how much customization you need, what the distribution can give you, etc. You also need to choose the distributions actively maintained by the community so you will always have smooth update processes.

Our experienced drupalers are here to advise you on this issue. Just tell us about your website’s needs, and we will offer you an ideally proportioned cocktail of ready elements and customization, of rational costs and unique functionality. Luckily, Drupal allows us to make such a mix. Get it now! ;)

Apr 21 2017
Apr 21

Drupal 8 promised to make website management a piece of cake, and it is fulfilling its promise! Indeed, it has plenty of useful modules to do this, like the Inline Entity Form to work with entities, the Group to manage group permissions, the Rules and the Workbench Moderation to optimize a website’s workflow, the Webform to build online forms, and many more. Today, we’ll discuss one of them that brings order to handling user roles and permissions — the User Personas module in Drupal 8, which is under active development right now.

The User Personas Drupal 8 module and its essence

Each of us has many roles in life, which may change with time. However, we are personalities above all, and we are unique. Although real life and Drupal websites are different things, this is close to the philosophy of the User Personas module in Drupal 8.

Drupal has user roles, which define who can do what on a certain site. The practice shows that the most frequently used Drupal website roles, assigned to almost anyone in any team, are Content Administrator and Content Editor. The difference is checking or unchecking certain permissions that are duplicated for every role.

The author of the User Personas Drupal 8 module, Gabe Sullice, decided to move beyond that approach. So his innovative module offers creating so-called User Personas and putting them above roles.

What is this for? This allows you to create more accurate sets of responsibilities that meet unique job descriptions for any team member. It also lets you avoid the muddle with duplicated permissions and enhances security. Let’s discover more details.

User personas: what they are and what they do

User personas are a level higher than roles — they are actually sets, or bundles, of roles. Each role, in its turn, comes equipped with its own set of permissions.

You can create personas and assign specific roles to them. Personas can refer to single users or their groups. In addition, different personas can share roles.

More accuracy due to treating roles as responsibilities

One of the most important points in the User Personas ideology is to stop treating roles as people’s jobs and start treating them as responsibilities instead. Roles should not describe who people are but rather what people do, i.e., they should be more specific and single-purpose.

OK, let’s imagine a persona called “Reader” and what they should be able to do. Logically, they should be allowed to read and probably comment on the content. So it’s worth giving them the “Viewer” and “Commentator” roles, which, in their turn, should include the permissions for viewing the comments, editing their own comments and posting their own comments. A very clean approach! This is an example Gabe Sullice gave in his article about the User Personas module (which he continued describing in the new version of the article). He also suggested another helpful module to assign roles to new users called Auto Assign Role.

Putting an end to endless permission checkboxes

Working with traditional Drupal roles, a website administrator has the tedious task of managing checkboxes with permissions that have to be duplicated again and again. This involves security risks, makes bugs harder to find, and makes human error more likely to occur.

The User Personas module for Drupal 8 solves this issue and frees you from these endless checkboxes with permission duplicates. Permissions will be simply shared when sharing roles.

Better not try this on live websites ;)

User personas do not interfere with anything on your website: when a set of roles is assigned to a user entity, everything else can work as usual. However, you should not install user personas directly on a live website because the roles are reset then. Be careful with it.

That’s how the User Personas module in Drupal 8 works. Indeed, user personas are unique, and so is your Drupal website! Whatever you wish can be implemented there, with no limits and no exception. So don’t hesitate to contact us for help with installing and configuring some module, or creating a unique one from scratch. And, of course, you can have a new Drupal 8 website developed for you, or migrate your existing one to Drupal 8. Drop us a line! ;)

Apr 11 2017
Apr 11

Drupal 8.3.0 is here — congrats, drupalers and customers!

Undoubtedly, the biggest days in the Drupal world are the days of major releases. Everyone had been waiting for the release of Drupal 8 like kids at Christmas, then “unwrapped” their present with impatience. They were impressed with its brand-new features! Each feature deserved to be described, which resulted in our collection of Drupal 8 articles to mark its birthday. However, you do not have to wait for so long anymore — the Drupal community now also prepares big gifts in small packages twice a year. They are minor releases, and the latest of them, Drupal 8.3.0, has come out on April 5. In this article, we will take a glance at this new approach to Drupal releases, and, of course, see what makes Drupal 8.3.0 so cool.

The new Drupal philosophy: minor releases offer a lot of innovations

Beginning with Drupal 8, the Drupal community decided to switch to the approach of making regular minor releases (8.1.0, 8.2.0, 8.3.0 and so on), meant to make everyone’s adoption of the next new big product more seamless. Minor releases offer significant innovations with backwards compatibility, API enhancements, better usability, an easy upgrade path, and more. Each of the releases is scheduled for a certain month and preceded with a beta and an RC version, so you always know when to expect it and what to expect from it. So let’s delve into the newest of them, Drupal 8.3.0.

Drupal 8.3.0 and what’s new in it

Better content editing with CKEditor 4.6 and more

Convenience of content editing is among Drupal 8’s main policies. Drupal 8.3.0 features a new version of CKEditor (4.6) which has an updated UI, a new and modern-looking default Moono-Lisa skin, the Copy Formatting plugin, the completely rewritten feature for pasting from Word, keyboard shortcut hints, new Upload File and Balloon Panel plugins, and more. Drupal 8.3.0 also offers the AutoGrow plugin for that makes it work better with larger screen sizes. In addition, you can now enjoy the drag-and-drop image editing feature.

The Big Pipe module now stable and improved

Here is a module that has become known as one of the most interesting novelties of “the great eight.” The Big Pipe greatly improves a website’s performance by delivering the unchanging part of the page to users immediately and then serving the rest of the content. Coming to Drupal 8 as an experimental module, the Big Pipe has finally reached the stable stage in 8.3.0, as well as undergone some enhancements, including those for usability on mobile devices.

The experimental Workflow module

This innovation will be especially handy for companies with lots of content authors and complicated content approval processes. One of the experimental Drupal 8.3.0 modules — the Workflow — will now add its power to the Content Moderation module, introduced yet in Drupal 8.2. Using it, you can easily configure the content publishing states and give certain users the permissions to change these states. You will also see your workflows on the screen and enjoy a simple and intuitively understandable UI.

Improvements in the APIs

The new features and bug fixes to the APIs are impressive in Drupal 8.3.0. Here are just some of them:

  • The REST API now allows user registration
  • The anonymous performance of REST API has grown by 60%
  • 403 responses now come with a reason for access denial
  • The Migrate API has reached its beta stage.

Drupal 8.3.0 has also become better in terms of website administration, content type layouts, etc. You can see more details in the great Drupal 8.3.0 review by Gábor Hojtsy.

As you see from the serious work around 8.3.0, Drupal 8 is in the centre of attention from the Drupal community. It will be getting the best, the newest, and the most relevant features. Maybe it’s time to come to the Drupal 8 side? ;) Get a new shiny website or upgrade your current one with the help of our skilled drupalers. It’s worth discussing right now!

Mar 21 2017
Mar 21

We once offered you a selection of free responsive Drupal themes,
as well as advanced tutorials on creating themes and subthemes.
Today, our focus will be very specific: we will discuss
Drupal themes for construction websites.

The construction industry and Drupal web development have a lot in common. Drupal websites, like good buildings, can be very solid, beautifully designed, and convenient in every way. For them, architecture also matters! And they can also be built brick by brick — using Drupal modules and themes.

There are special Drupal themes perfectly suited for construction businesses — so feel free to check out their collection. We have included Drupal 7 and Drupal 8 themes with plenty of useful features. They help construction companies easily and elegantly showcase their offers by providing ready page templates, customizable to anyone’s liking.

These themes are based on the modern, fast and lightweight Bootstrap framework, and have Drupal Commerce or Ubercart support for online shopping.

The themes that we have gathered are all responsive, so their design will neatly adapt to absolutely any device screen. Many of them are also Retina-ready — this latest trend basically means that the designs look great on high-definition phones or tablets with no pixelation even when zooming-in.

Well, examples are worth a thousand words, so let’s see what has been built by drupalers for builders!

Some great responsive Drupal themes for builder and construction websites

Yellow Hats

Yellow hats are something you are likely to see on the demo of every theme in the building category. So we choose  a modern theme of the same name to be the first on our list! It is extremely flexible and customizable, responsive, Retina-ready, built on Bootstrap 3.x, and offers an impressive list of features like Parallax effect, HTML and CSS3 validation, Google Maps, +11 homepages, +250 HTML pages, an online shop due to Ubercart support, a wealth of headers, footers, blocks and more.

Great Drupal themes for construction websites

Housebuild

You could also try Housebuild, a responsive and Retina-supportive Drupal theme, good for construction, renovation, electric works, and other business websites. This theme is clean and professional, easy to use and to customize. It features CSS3 animations, Google Maps integration, Bootstrap 3.x support, sliders, unlimited colors, and more.

Great Drupal themes for construction websites

Builder

The Builder Drupal theme is close to the above described Housebuild theme. It is also responsive, supports Retina displays, and offers a similar set of useful features, as well as Instagram integration and an online shop thanks to Drupal Commerce support.

Great Drupal themes for construction websites

Construction

Here is an easily customizable Drupal theme, great for websites of construction and related companies. It has a responsive layout, a special drag-and-drop tool to create layouts (Superhero framework), and a wealth of customization opportunities. The “Who we are”, services, shop (Drupal Commerce), news and other blocks are at your disposal.

Great Drupal themes for construction websites

Darna

The Darna Drupal 8 theme is meant for construction, architecture, plumbing and renovation companies, as well as other businesses. It is responsive and ready to work with Retina displays. Being easy to use, Darna can boast an impressive list of features like reusable code, W3C validation, Pixel perfect, Google maps, Bootstrap 3x, multiple header and homepage options, shop pages (Ubercart), and more.

Great Drupal themes for construction websites

Gates

You could give a try to this multipurpose responsive Drupal 8 theme with a support for Retina displays, used for construction and other types of websites. It lets you present a portfolio, a shop due to Ubercart support, news, services etc. The Gates theme is based on Bootstrap 3.3.5, has over 1000 icons, plenty of layout options, unlimited color schemes and much more.

Great Drupal themes for construction websites

Habitus

The Habitus theme for Drupal 8 means 14 clean and modern responsive HTML pages. It is based on a 12-column Bootstrap grid, has variations for homepage and “coming soon” page, a portfolio, a blog, a gallery, a 404 page and much more to meet the needs of your construction company or other business.

Great Drupal themes for construction websites

Construct

Here is another cool example for construction, renovation, electricity, isolation, maintenance and business companies. It is a responsive, Retina-ready and SEO optimized Drupal 7 theme on the basis of Bootstrap 3. The Construct theme has 11 custom blocks, valid HTML5 & CSS3, Twitter Feed, Google maps, etc.

Great Drupal themes for construction websites

Constractor One

Meet another nice responsive theme for Drupal 8 which will be very useful for construction and renovation industry companies with its limitless customization options. The Constractor One offers drag-and-drop layouts, more than 580 icons, Parallax effect, HTML5 and CSS3, support for video, RTL (right-to-left text direction) and more.

Great Drupal themes for construction websites

Structure

You could also take a look at the modern responsive and Retina-supportive Drupal theme called Structure. Structure is definitely its strong point, because it offers +15 homepage and +3 header styles, Mega Slider, all pages required for building companies (about, prices, services, etc.), Drupal Commerce support and so on.

Great Drupal themes for construction websites

These are just some examples of excellent Drupal themes for construction websites. If these or other ready themes do not fully cover your needs, our developers will build a unique one for you. Builders will always understand each other, no matter whether they create houses or websites and themes. Let’s build awesome things together!

Mar 10 2017
Mar 10

This phrase has long been a famous Internet meme: in any situation, keep calm and clear your cache! And the power of Drupal cache is really strong, because it can be helpful even in the case of so-called White Screen of Death or WSOD.

WSOD (White Screen of Death): oops, what is it?

From time to time, every Drupal user or developer encounters WSOD. One of the most common scenarios is it happens after some module or core updates, as well as during custom module development.

The page goes totally blank with no content, warnings or errors — just the big white “nothing”. It is whiter than the endless Arctic snow, and you just do not know how to find your way through it.

But, as stated above, keep calm! Of course there are ways to debug White Screen of Death. They include: enabling error reporting, checking error log files or Watchdog tables, disabling the modules that might have caused the problems, increasing your PHP memory limits if your site might have run out of it, restarting your web server, rebuilding your permissions and many more. You can try various methods one by one until some of them actually work.

In some cases, however, a perfect way to fix WSO is clearing the cache tables, which we will examine more closely.

Drupal cache clearing to resolve WSOD

Drupal caching is a great solution to improve a site’s performance. It helps avoid tons of calls to the database and save your server’s resources and time. When a page is loaded for the first time, Drupal saves its content, scripts, menu links and much more to the cache table and uses it again during the next page loads. Some modules, like the Big Pipe in Drupal 8, offer exceptional opportunities to get the best out of caching.

The caching tables have a multitude of things to handle. They can sometimes run into a problem due to various reasons. Often this happens when you are moving your site to another server. And then you have the scary WSOD!

But there is no need to worry — just empty the cache table. Though the task does not look easy with White Screen of Death, there are a couple of ways to do it without coding.

Clear the cache using the database

You can use PHPMyAdmin or other database administrative tool to get to your Drupal website database. Empty (truncate) the tables with the "cache_" prefix , without deleting them. Manipulations with the database should be done carefully.

Clear the cache using Drush

An alternative to this is using Drush command-line interface, which seems to often offer quick solutions when other things do not work. Even though Drush may be helpless sometimes as well, you could try to these Drush commands for emptying the cache table:

Drupal 7:

drush cache-clear all or drush cc all — to clear all at once

drush cache-clear or drush cc — to choose which cache to clear

Drupal 8:

drush cache-rebuild or drush cr — to rebuild the website in addition to clearing the cache

Clear the cache using the Performance page

Another option to try is to get to admin/config/development/performance and use the "Clear all caches" button.

To wrap up

Clearing your cache might be enough to bring your website “back to life” again and help you resolve the White Screen of Death (WSOD) error. However, you can always rely on professional error-fixers and problem-resolvers like our affiliated Drudesk support service. Looking too pale is not good for your website’s health ;) The Drudesk guys will establish the reason for the WSOD or any other condition and will quickly make your website feel fine!

Feb 07 2017
Feb 07

To do: improve your Drupal website’s SEO. This sounds like a pretty big task on your list! ;) Big tasks are easier to cope with when they are divided into clear, smaller steps. Great news! You can have a smart adviser, named SEO Checklist module, who can give you this list of steps and prompt you how to fulfill them. The module has been ported to Drupal 8 with some improvements, so we are happy to include its review into our collection — along with the Views, the Inline Entity Form, the Fast 404, the Workbench Moderation, the BigPipe, and the Rules Drupal 8 module stories.

Discover Drupal’s SEO capabilities with the SEO Checklist module

This module is a treasure for many marketers, website administrators, and developers who would like to leverage Drupal’s huge SEO potential but need some assistance with it. And this potential is incredible — we have previously written reviews of the powerful Drupal 7 SEO modules in part 1 and part 2. Many of these have reached stability in Drupal 8 as well.

The SEO Checklist module tells you what modules to install and what actions to perform so you can use the best SEO practices with Drupal. It does it in a user-friendly and popular way that most people appreciate — as a checklist, along with lots of hints to speed up your work.

You do not necessarily have to follow all the steps, your smart adviser just gives you good ideas. To work with it, you will need some basic understanding of SEO. The module is also not a replacement for an experienced SEO expert who can provide a good SEO strategy, build links or do keyword research.

The module’s “father” Ben Finklea, CEO at Volacci Drupal SEO agency, created it with the best search engine optimization “secrets” in mind. He also wrote a book called Drupal 8 SEO explaining in detail how to make the best use of what the module recommends to you.

How the SEO Checklist module works

After downloading and enabling the SEO Checklist module, on the left sidebar, you will see all these tasks grouped into functional categories. They embrace various SEO aspects (clean URLs, meta tags, search engines, analytics, security, performance and many more). Each category has its own checklist. To make tasks fulfillment easier and faster, it includes the links to download and enable the modules, as well as to make proper settings in your admin screen.

When a task from the checklist is done, it is checked off. After you click the Save button, the progress bar at the top of the page shows you how much is accomplished. The checklist shows you which task has been completed, when and by which user, and which still remain to be done.

Thanks to the date and time marked for each action, you can also have handy reports about your SEO optimization efforts.

Your wise SEO assistant is always up-to-date and informs you whenever there is something fresh and new to be recommended.

The SEO Checklist module in Drupal 8: porting and improvements

Created back in 2007 for Drupal 6, this useful SEO module is now supported for Drupal 7 and Drupal 8. Travis Carden, the creator of the Checklist API module, deserves special thanks for porting it to Drupal 8. He has also been helping Ben Finklea with this project all the way from the beginning and is its co-maintainer.

In Drupal 8, the module has become still more helpful. The major change it has undergone in “the great 8” is that it now includes CLI commands that you can run via Composer, Drush or Drupal console. You can find them right on your checklist next to each of the tasks and paste them in your command line. “Now that Drupal's Composer endpoints are out of Beta, the developer community is using more CLI tools than ever," says Ben Finklea.

It’s time to be at the top of the search results. With Drupal, it’s possible!

You can download the SEO Checklist module, as well as get absolutely any custom functionality created for you or have a fresh and new Drupal 8 website built for you by our Drupal gurus. So here is a useful step for your checklist — contact InternetDevels right away! ;)

Jan 20 2017
Jan 20

Drupal 8 is so irresistible in its innovations that it just makes you wanna… pack your things and migrate! ;) To “pack” your website’s content and configuration carefully and move them to Drupal 8, there is a cool tool called Migrate API. As with any relocation, it's easier to “pack your things” when they fit into “standard boxes.” The same applies to websites: the less custom functionality they have, the quicker the upgrade process will go. We will touch upon this and many other interesting issues while discussing Migrate API, its benefits, the modules it includes and the migration process it provides.

Migrate API: best things come to Drupal 8 core!

Not only do the best things come to Drupal core, but the greatest ideas are born at DrupalCons. At one of these, DrupalCon Prague, there was a discussion of building an improved and powerful migration system for “the great 8” that would inherit the best concepts from Drupal 7’s Migrate module but make the upgrade process way easier and much more enhanced.

Mission completed! Drupal 8 core got Migrate API that was added as a set of experimental modules, but has been improving and gaining trust, and has now (beginning with subversion 8.2.5) reached beta stability.

Migrate API can offer you:

  • robust, smooth and repeatable (if necessary) migrations from Drupal 7 or 6 to Drupal 8
  • direct upgrades from Drupal 6 to Drupal 8
  • migrations to Drupal from other sources
  • no need for PHP updates (like there used to be)
  • a handy UI and Drush integration (see also some tips of upgrading with Drush)
  • detailed documentation
  • migration templates
  • easy rollback functionality

The modules Migrate API includes

They are now “the great three,” but they used to be “the great two” — up until Drupal 8.1.x subversion was released, which was when the Migrate UI module joined in. So here they go:

  • the Migrate module that provides general API functionality for your upgrades
  • the Migrate Drupal module that offers special configuration for Drupal 6 to Drupal 8 and Drupal 7 to Drupal 8 migrations
  • the Migrate Drupal UI module that has a convenient UI to use instead of Drush

Some extra modules to use with Migrate API

However, that’s not all, so you can improve your migration process with Migrate API even more by downloading some additional contributed modules.

The Migrate Tools module offers a basic UI to list migrations and show messages, as well as general migration Drush commands:

  • drush migrate-status
  • drush migrate-import
  • drush migrate-rollback
  • drush migrate-stop
  • drush migrate-reset-status
  • drush migrate-messages

The Migrate upgrade used to have a UI that moved to core, so its main destination now is to provide important Drush commands for upgrades between Drupal versions, as well as to do rollback if necessary:

  • drush migrate-upgrade
  • drush migrate-upgrade-rollback

With the help of the Migrate Plus module, you can greatly enhance your custom upgrades. It provides extra functionality, for example, for grouping migrations together, as well as XML and JSon parser plugins to make import from file-based sources.

The Migrate Manifest module will let you run selected migrations defined in a manifest file.

And, finally, if you want to move from Wordpress to Drupal (see the comparison), the Wordpress migrate module is here for you to export your Wordpress files and migrate them to Drupal.

Migration templates

A lot of work has already been done to simplify the upgrade process! Drupal 8 has lots of ready migration templates for the core stored in YAML configuration files. In case with contributed modules, there may also some ready migration files, so it’s worth checking out. But, as far as custom functionality is concerned, get ready to create your own custom migration files for it. However, you can always entrust it to professional developers.

A glimpse at the migration with Migrate API from Drupal 7 or 6 to Drupal 8

  • Before the migration, it’s better to have a fresh Drupal 8 installation, because it will make the process easier.
  • Next, you should tell Drupal how to connect to the source database, for example, in your settings.php file.
  • Enable all the required modules both on the source and the destination website.
  • Run your migrations via Drush or UI, whichever is more convenient for you.
  • Review your migrations to see the result.
  • If necessary, easily roll them back.
  • After that, uninstall the migration modules.
  • Done!

Have a smooth upgrade process with Migrate API and an amazing new life for your website on Drupal 8! Upgrades have become a really popular service, especially since the end-of-life announcement for Drupal 6, so we have sharpened our skills in them to perfection. So, no matter how complex your website is or how much custom code it has, your upgrade will be safe and easy with us. Big migrations begin with a small step like contacting us right now ;)

Pages

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