Planet Drupal

How to update Drupal 8 core?

Let's see how to update your Drupal site between 8.x.x minor and patch versions. For example, from 8.1.2 to 8.1.3, or from 8.3.5 to 8.4.0. I hope this will help you.

  • If you are upgrading to Drupal version x.y.z

           x -> is known as the major version number

           y -> is known as the minor version number

           z -> is known as the patch version number.

Sat, 03/24/2018 - 10:31

I'm experimenting with Drupal 8 and some its new features like migration and configuration management. A reset script is a convenient timesaver and many people have shared their techniques for doing so. Having benefited from other's generosity I wanted to return the favour by sharing my current work-in-progress.

This script:

  • Leaves the codebase as-is
  • Deletes and reinstalls the database
  • Deletes the 'files' directory
  • Deletes the specified configuration management directory
  • Enables additional modules, as required
  • Deletes settings.php and allows Drupal install to recreate
  • Updates the new settings.php $config_directories['sync'] entry
  • Adds a settings-migrate.php include to settings.php

I call the script via Drush with an entry in drushrc.php:

$options['shell-aliases']['428-reset'] = '!sh /Users/dale/.drush/sha-scripts/g428-reset.sh';

The script is evolving as I learn more about Drupal 8 and refine my workflow. Comments and suggestions are welcome.

drupal-reset.sh:

#!/bin/bash

# Reinstall a Drupal instance to reset it back to a know state.
# A file base and Drush alias must already be configured.

DRUSH8='/Users/dale/bin/drush8/vendor/bin/drush'
DRUPALDIR='/Users/dale/Sites/group428'
CONFIGDIR='sites/default/group42config/sync'
DRUSHID='@g428'
SITE_NAME='Group 428'
ACCOUNT='admin'
PASS='staring-password'
EMAIL='no-reply@group42.ca'
DB_URL='mysql://group428:group428@localhost/group428'


# Nuke the database
$DRUSH8 $DRUSHID sql-drop --yes

# Nuke the filebase
echo "Resetting files"
chmod -R u+w $DRUPALDIR/*
rm $DRUPALDIR/sites/default/settings.php
rm -r $DRUPALDIR/sites/default/files
rm -r $DRUPALDIR/$CONFIGDIR

# Fresh Drupal install
cd $DRUPALDIR
$DRUSH8 site-install standard --db-url=$DB_URL --site-name=$SITE_NAME --account-name=$ACCOUNT --account-pass=$PASS --account-mail=$EMAIL --yes

# Base configuration
$DRUSH8 $DRUSHID en admin_toolbar,admin_toolbar_tools --yes

# Allow upcoming changes to settings.php
chmod u+w $DRUPALDIR/sites/default
chmod u+w $DRUPALDIR/sites/default/settings.php

# Configuration Management
sed -i '' "/config\_directories\['sync'\]/d" $DRUPALDIR/sites/default/settings.php
echo "\$config_directories['sync'] = '$CONFIGDIR';" >> $DRUPALDIR/sites/default/settings.php

# Migrate
echo "\ninclude 'settings-migrate.php';" >> $DRUPALDIR/sites/default/settings.php
$DRUSH8 $DRUSHID en migrate,migrate_drupal,migrate_plus,migrate_tools,migrate_upgrade --yes

# Login
$DRUSH8 $DRUSHID uli Tagged: AttachmentSize Drupal Reset BASH Script1.43 KB
Drupal 8 - Introduction to Plugin System and how its awesome in Drupal 8?

Drupal 8, Introduction to Plugin System, and how plugin system is awesome in drupal 8?

heykarthikwithu Monday, 26 June 2017 - 12:52:01 - IST, Asia/Kolkata

The Waterwheel ecosystem paves the way for non-Drupal developers to use decoupled Drupal as a headless back end without having to learn a lick of Drupal or PHP. Now, the Waterwheel team is excited to release several new projects that benefit developers developing JavaScript applications built in Ember and React.

Tags: acquia drupal planet
Last time, we gathered together DrupalCon Baltimore sessions about PHP. Before that, we explored the area of DevOps, Front End, Site Building, Drupal Showcase, Coding and Development, Project Management and Case Studies. And that was not our last stop. We have two to go. This time, we looked at sessions that were presented in the area of Business. Beyond the .Com: Drupal's new role in the Large Enterprise by Josh Linard from Mediacurrent This session was not about Gartner rankings and CMS comparisons, but it was about attendees gaining an understanding of how Drupal now fits into a global… READ MORE
If you read our previous posts, you already know very well how to start a project in the docker-console. If you haven’t done it yet, you should start with this article, because for the purpose of this article we assume that your project in the docker-console is already up and running, therefore all commands executed below will refer to it. In this article, we would like to introduce you to the world of automatic tests using Codeception, based on this kind of a project. Of course, not everyone has to automate all the tests on their projects, but if this will not require too much work, we bet that many people will look at a set of “smoke tests” favourably, to say the least. 

Highly customizable business logic is the core of any e-commerce solution. For such functionality, Order processor comes in picture which helps us to define flexible pricing with dynamic discounts.

In this article I will walk you through order price manipulation and use of custom adjustment to fulfill complex business logics in Drupal commerce 2.x module.

What is Order Processor?

E-commerce order processing is part of the order refresh process. This is executed on draft orders to ensure that it has up to date adjustments and that its order items are up to date. E-commerce order processing is a part of e-commerce workflow in drupal commerce 2.x.

What are Adjustments in Drupal…

How to Read time: 11 minutes Background

Accelerated Mobile Pages (AMP) is a web mobile technology specifically designed to tackle unresponsive web pages on mobile devices like smartphones and tablets. The challenge of poor mobile user experience due to slow loading of web pages is not new. Rich media contents, including ads, often in the form of videos, images, and audios, have made the web unbearable for mobile users. So much so that, as early as 2010, Google designated the load speed of a website as a rank factor in its search algorithm. In 2014, Google added the mobile usability report to its Webmaster Tools. Running this new report identifies specific mobile usability issues on a given website as detected by Google. With the availability of this reporting tool, it was generally speculated that mobile usability would one day become a ranking factor. Speculation turned into reality in 2015 when Google announced that mobile usability is officially a rank factor in its search. Despite earlier signs and warnings from Google, this event still created quite a shock among webmasters, and was nicknamed Mobilegeddon for its magnitude of impact. In a nutshell, if a web page is deemed mobile-unfriendly by Google, (and there is no middle ground), it will be ranked lower even if its content is exceptional.

The case for mobile pages with fast load times makes business sense, and is backed by industry research statistics. About half of Internet shoppers expect a web page to load within 2 seconds. Furthermore, studies showed that 40% of desktop users would abandon a slow loading web page, while mobile users were abandoning at even a higher rate (50%), according to Consumers in the Micro-Moment, May 2015.

As a direct response to the mobile web speed challenge, Google introduced the AMP project in 2015. Gary Illyes, webmaster trends analyst at Google, reported that AMP web pages load 4 times faster than the average. Jon Parise, technical architecture lead at Pinterest, cited test results that show AMP pages use eight times less data than traditional mobile-optimized pages. Better user experience with AMP pages correlates with improved user engagement: 90% of publishers net higher CTR, while 80% of publishers are getting more page views.

 

Technology overview

In a nutshell, AMP leverages existing web technologies, and can be readily deployed on existing web infrastructure. Specifically, AMP pages can be uploaded to and served from existing web servers without custom server configuration.

AMP pages are built using AMP HTML and AMP JavaScript. AMP HTML is a subset of HTML 5 and is styled in-line by CSS 3. The design of AMP is guided by the principle that features that may hinder fast page loading are banned. Not all HTML tags are supported by AMP, e.g., frame and frameset are prohibited. In addition, some HTML 5 media tags (such as img, video, audio) are replaced by the corresponding AMP HTML tags (amp-img, amp-video, and amp-audio). The loading of AMP pages is managed and optimized using the AMP Javascript library. This JS library enforces the performance-enhancing best practices for page rendering. To further improve page loading performance, AMP pages can be cached on network proxy systems such as the Google AMP Cache.

 

Web applications

Although AMP, as a technology, is only 2 years old, it has been deployed successfully with well-documented case studies from web publishers, advertisers, and e-commerce websites.

It is no surprise that, because of its origin as a Google initiative, AMP pages are featured prominently in Google Search results. AMP-enabled news stories are displayed in the AMP carousel at the top of mobile search results pages. Although AMP is not yet ubiquitous in the mobile web, it is gaining traction by being supported on LinkedIn, Medium, Pinterest, Reddit, Twitter, WordPress, and Drupal.

Drupal is a CMS that many web publishers and e-commerce vendors use to build their websites (learn here why). If you are a Drupal developer, AMP is a technology that you should definitely consider using. To make AMP adoption easier, Drupal has developed an AMP module to automatically convert regular pages into AMP pages. The rest of this article shows how to enable AMP support in the Drupal environment.

 

Install Drupal AMP support Overview

AMP support on Drupal requires the installation of the following components.

 

  1. AMP module
    The AMP module manages the conversion of regular Drupal HTML pages to AMP-complaint pages. The URL of AMP pages ends with the string '?amp'.

  2. AMP PHP library
    The AMP PHP library is the engine behind HTML conversion. It validates user-entered HTML against the AMP standard, and makes the necessary corrections to ensure compliance.

  3. AMP theme
    The AMP theme consists of the AMP base theme and the ExAMPle sub-theme. All Drupal AMP pages must be displayed using a sub-theme of the AMP base theme. You can create a new AMP sub-theme from scratch, or modify the default ExAMPle sub-theme.

 

Both Drupal 7 and Drupal 8 support AMP. The following illustrates how to setup AMP support for Drupal 8 on the Linux platform.

 

Install procedure

The prerequisite is that a working Drupal system is already in place. The following install procedure uses the command-line tools Composer and Drush. If these tools were already installed on the Drupal system, they do not need to be re-installed. Unless specified otherwise, the following steps should be performed using a non-root account on a Linux system.

 

Download and install Composer

Composer is the dependency manager for downloading PHP packages. Download and install Composer using this command:

curl -sS https://getcomposer.org/installer | php

Move the installed program to a system directory that grants you execute permission, e.g., /usr/local/bin.

mv composer.phar /usr/local/bin/composer

 

Download AMP module

Download the AMP module and its dependencies, including the AMP PHP library, using the composer command below. Note that the composer command must run inside the web server's document root directory. The exact document root directory location depends on the web server and Linux distribution. For this example, the document root is /var/www.

cd /var/www

composer require drupal/amptheme

 

Download AMP theme

Download the AMP theme including the default ExAMPle sub-theme to the document root directory (e.g.,  /var/www).

cd /var/www
composer require drupal/amptheme

 

Enable AMP sub-theme

An AMP sub-theme must be enabled before enabling the AMP module. For this example, we enable the default ExAMPle sub-theme (ampsubtheme_example). Alternatively, you can enable a custom AMP sub-theme.

If Drush, the command-line shell for managing Drupal, is already installed on your system, you can enable the sub-theme using the following Drush command. Note that the Drush command must be executed inside the document root directory.

cd /var/www

drush en ampsubtheme_example

You can also enable the sub-theme through the Drupal web interface using the following procedure:

 

  1. Log in as a Drupal administrator.

        2. Select the Appearance page.

  1. Locate the ExAMPle sub-theme in the Uninstalled themes section, and click Install.
    There are 2 Install options available: Install, and Install and set as default. Select Install. The sub-theme should only be used on AMP pages, and therefore must not be set as the default theme.

 

Enable AMP module

The AMP module can be enabled using Drush or the Drupal web interface.
To enable the AMP module using Drush, execute the Drush command below inside the document root directory:
cd /var/www
drush en amp

 

To enable AMP using the web interface:

  1. Log in as a Drupal administrator.

        2. Select the Extend page.

  1. Scroll down to the Other section, and select both the Accelerated Mobile Pages(AMP) and Token modules.

  2. Click Install.

 

Configure AMP

Before AMP pages can be displayed, AMP needs to be configured using the web interface.

 

  1. Log in as a Drupal administrator.

  1. Select the Configuration page.

  1. Click AMP Configuration in the Content Authoring section.
    The AMP configuration page is displayed.

  1. Select ExAMPle Subtheme as the AMP theme, and click Save configuration button.
    The top of the AMP configuration page lists the AMP status by content type. Initially, AMP is disabled for all content types, e.g., article and basic page.

  1. Enable AMP for a content type, e.g., article, by clicking the corresponding Enable AMP in Custom Display Settings link.
    The Manage Display page is displayed as a result.

  1. Click to open Custom Display Settings.

  2. Select the AMP view mode, and click Save.
    Saving the setting returns you to the AMP Configuration page.

  1. Click Configure AMP view mode for the content type you've just AMP-enabled.
    All fields available to display for the content type are listed.

  1. Specify AMP format for fields, and click Save.
    The fields available depend on the content type. For the Body field, select AMP Text as the format. For Image, select AMP Image.

  1. Select the Structure page.

  2. Click Block layout.

  1. Select the ExAMPle Subtheme tab.
    This tab lists the blocks available for the sub-theme, e.g., Search, Breadcrumbs.  You can move specific blocks to different regions on the page, or remove them altogether. After you make the modifications, click Save blocks.

 

Now, you are ready to view the AMP pages. You can view an AMP page using either of the following methods:

 

  1. Edit the page.
    Edit the page under Drupal, and instead of selecting Save and keep published, select Save and view AMP page.

  1. Append AMP suffix to URL.
    Browse to the regular non-AMP version of the page.  Manually append the suffix '?amp' to the end of the page URL, and hit Enter. For example, http://localhost/node/2 becomes http://localhost/node/2?amp.

 

Summary & conclusion

Despite tangible results, AMP is but 1 of several mobile web technologies aiming to decrease page loading time. Its competitors include Facebook Instant Articles and Apple News. AMP distinguishes itself by being the only open-source platform among the three.

Why Open Source Technologies will Dominate the Market

The decision of which technology to adopt will influence the bottom line of a company. Below, we list the advantages and disadvantages of AMP.

 

AMP advantages
  • SEO    
    Although AMP per se is not a rank factor in Google searches yet, AMP pages, by virtue of faster loading time, contributes to better SEO results for mobile searches. Better search engine visibility, lower bounce rates, and higher click-through rates are all achievable benefits of AMP. Tips on how to optimize a Drupal website for SEO can be found here.

  • ROI       
    The cost of adopting AMP is generally lower than competing technologies because it leverages, not disrupt, existing web infrastructure. The return is a much better user experience which translates to improved mobile conversion rates.

  • Better behaving ads             
    Advertisers are an integral part of the AMP ecosystem. AMP ensures that ads displayed on AMP pages load quickly and do not detract from overall user experience.

  • Less stress on web servers                  
    AMP pages take up less data space, and can benefit from caching on AMP Cache servers. As a result, the stress on web servers is proportionally reduced.

  • Potential solution for smaller sites         
    Smaller websites may not have the IT budget to tackle speed challenges on mobile web. AMP provides a viable solution, especially for websites hosted on a CMS such as Drupal and WordPress. AMP support on Drupal eases the conversion of regular web pages to AMP pages.

 

AMP disadvantages
  • Complexity
    An AMP-enabled website typically has both AMP pages targeting mobile users and regular web pages targeting desktop users. This is an added level of complexity for webmasters and search engines. The 2 versions of a web page must both be visible to search engines, but, at the same time, not viewed as duplicates. Given the newness of AMP, in-house AMP expertise may not be available for most businesses. For professional consulting, feel free to contact Vardot.

  • Customization
    AMP HTML restricts the types of HTML tags that can be used on an AMP page. All is well if an AMP page passes AMP validation. Otherwise, considerable web development expertise is required to make the necessary adjustment to pass the validation without sacrificing what you actually want to achieve. Even with the help of a CMS such as Drupal, customizing the look and feel of an AMP page requires in-depth knowledge of the AMP theme and how to craft sub-themes.

  • Uncertain industry-wide adoption
    AMP enjoys support from a growing number of platforms, vendors, and partners. However, given the competition from industry heavyweights such as Facebook and Apple, industry-wide domination is far from certain. With the backing of Google, AMP can potentially become the industry-standard format for mobile search pages, or, like Google Authorship, just another Google experiment that does not reach its full potential.

And did you tru to set up accelerated mobile pages on your Drupal site? Share with us your experience in the comments section below.

Tags:  Drupal drupal 8 Drupal Planet Title:  AMP Up Your Drupal Site Using Google's Accelerated Mobile Pages

On the latest DrupalConsole release the Launcher aka the global executable is a stand-alone full CLI application. Yes, it was like this before, but at some point on RC releases when the per-site installation was introduced we removed global commands and most of the Launcher features, but after receiving feedback and analyzing the benefits, we decided to bring back the Launcher as a full CLI application.

 

What is an Acquia Certified Grand Master What is an Acquia Certified Grand Master Zach Ettelman Mon, 06/26/2017 - 10:18

Big congratulations to Tanner Langley, our Senior Drupal Developer turned Acquia Certified Grand Master. He has earned the highest ranking Drupal certification.

Elevated Third is lucky to now have 3 of the world’s 150 Acquia Certified Grand Masters. Our Grand Master Drupal developers, Nick Switzer, Michael Lander, and Tanner Langley are incredibly important to our implementation workflow. They work on every website we launch.

In order to help everyone understand the significance of this certification, we’ll discuss what a Grand Master is, what the certification process looks like, and the value a Grand Master provides.

  What is an Acquia Certified Grand Master?

Let’s take a step back to understand Acquia’s role in this certification process. Acquia is the leading cloud platform SaaS company for Drupal websites and is led by Dries Buytaert, the creator of Drupal. They serve as the administrator and regulator of the premier professional certification program for Drupal. Having Dries Buytaert, the co-founder of Acquia and the creator of Drupal, develop this program provides an enormous amount of credibility. It demonstrates Acquia’s commitment to not only their platform but also to the whole Drupal community. With more knowledgeable and engaged developers bettering the community, Drupal’s power increases and in turn supports the companies that leverage Drupal for their digital experiences.

To become an Acquia Certified Grand Master a developer has a one-year timeframe to complete three certification exams: Certified Developer, Certified Front End Specialist, and Certified Back End Specialist. Developers interested in taking the exams and becoming Grand Master certified can take the test online at any time, at testing centers across the world, or during DrupalCon, where most developers take the tests. 

  Why Does It Matter?

Passing three of the hardest Drupal certification exams is a daunting task and those who pass the test should be applauded. But how does the time and effort into passing these certification exams translate to project success?

When working with a Grand Master Drupal developer you are getting one of the top developers in the world and the knowledge of Drupal best practices and efficiency in mind. Staying up-to-date on industry trends and best practices gives them a unique perspective on the next Drupal challenge.

Most importantly, our clients gain an incredible competitive advantage having access to Grand Master developers on their projects. Top Drupal talent in the industry gives our clients access to developers that are always looking for new ways to innovate and develop modules that deliver never before seen functionality within Drupal.

Our Grand Master certified developers recently used their knowledge to develop a fully decoupled Drupal project, that has been highly successful for our client and serves as a benchmark in the industry.

Let's take a deeper look into what is required of an Acquia Certified Grand Master. 

  Acquia Certified Developer Exam

The more general of the three exams focus on the areas of fundamental web concepts, site building, front end development (theming), and back end development (coding). Specifically, the exam tests a developer’s level of knowledge and ability to:

  • Setup and configure new Drupal sites
  • Develop and implement new Drupal modules and themes
  • Customize and extend existing modules
  Acquia Certified Front End Specialist Exam

This test specifically focuses on a developer’s skills and knowledge of Drupal front end theming, including:

  • Fundamental web development concepts, HTML, CSS, Javascript, PHP, jQuery
  • Theming concepts like custom regions, theme configuration, stylesheets, breakpoints, sub-themes
  • Templates and pre-process functions, Twig syntax, templating, Form Alter and Template Suggestions After
  • Layout configuration, Blocks, views, and the Responsive Image module
  • Performance/security, analyzing and resolving site performance/security issues from site configuration and custom themes

 

Acquia Certified Back End Specialist Exam

This exam validates the skills and knowledge of building and implementing Drupal solutions through module development. This test focuses on:

  • Fundamental web development concepts, HTML, CSS, Javascript, PHP programming, managing dependencies using Composer, Git for version control, and Automated Testing concepts
  • Drupal core API. Registering paths for URL requests using Routing system and Menu API, building and validating forms using Form API, interact with Entity system using Entity API, and ability to use Core APIs for building and extending Drupal functionality
  • Debug code and troubleshooting
  • Theme integration
  • Performance
  • Security
  • Leveraging community by contributing modules back to the Drupal community and ability to write code using Drupal Coding Standards

To know there is a Grand Master on your project is to know your project will be influenced by someone with a well-rounded background of the entire development Drupal landscape, not just specialization in front end or back end development. This well-rounded background helps the developer have a better understanding of how the different pieces of a project come together to create a powerful, flexible, and scalable digital platform.

Quite simply, having Grand Masters on our team ensures our clients get the top talent in the industry to develop their sites and produce extraordinary digital experiences for their own customers. 

If you are looking for top Drupal talent for your project, let's talk

What our clients are saying

...took my less than mediocre site and completely revamped it into a beautiful, professional, and easy-to-navigate site
...I have no doubt we will have the best site in the 2010 election of any PA candidate
I have seen the first layouts and they are awesome...
...able to translate technical information in an accessible way...
A great experience and a much improved website.
I realized that I had picked the right company to work with soon after beginning a project with Peerless Design, Inc.
...creative, independent, responsive...
...can do anything any other designer can do and generally quicker, cheaper and better.
...continued to monitor it closely and is still always available to help me if I have any questions
" PDI provides us prompt, effective and efficient service in maintaining our Drupal based website."
I had a very tight deadline and budget, and they met it, seemingly with ease.
I love directing our customers to our new site knowing that they are going to be able to find exactly what they are looking for...
... they also made suggestions which showed me that they fully understood what I wanted to accomplish.
I would highly recommend her for any position requiring IT design and development
...able to take my abstract ideas and add their expertise to bring them to life in a way that was better than I could have imagined!
Thanks so much for everything!
...we just want you to know that we are appreciative!
... incredibly impressed with what you brought to the table
I would highly recommend her for any position requiring IT design and development
...provided us with excellent, expert service in a professional and personable manner.
...very responsive to our questions and needs
...your punctuality, your casual and open personalities, and both your hard copy and online portfolios speak very highly of you and your business as well
...a pleasure to work with, combining patience (for my busy schedule and at times overwhelmed brain) with her strong motivation and energy to keep me going
...dedicated, competent and driven to get the job done and done well.
I'm so happy we chose to work with PEERLESS Design.