Migration in Drupal - Part 2

Part 1 looked at how to put the source database credentials in settings.php.  Part 2 looks at how to specify the source website root so that files are properly transferred.  After the fix for the database settings in part 1 the command for configuring the migration is

drush migrate-upgrade --legacy-root=http://mydrupal7site.com --configure-only

The import of the files is done by running

AJAX without the Drupal FormBase class

AJAX Open buttonDrupal 8 forms are usually classes that inherit from the FormBase class.  The FormBase class provides underlying functionality such as AJAX for Drupal forms.  This article explores how to use only the form API without the FormBase class yet provide a light weight AJAX behavior.  To keep this from getting too complex only buttons and event handling are considered.  While this could be useful on its own it also prov

Xdebug with Vim for Docker for Mac with Ubuntu 16.04

Integrated Development Environments (IDEs) are nice for debugging problems but with Docker containers they have to be set up to work remotely. Vim may not be as nice an interface but has an advantage of being able to run in the container making it easier to get set up and running quickly. This is especially true for new releases where there is not much information yet on configuration.

Web development with Docker and Drupal on OS X

Docker has just been released for Max OS X and it takes a different approach of using containers.  It claims to be faster and quicker to set up then alternatives such as virtual machines.  I will look at using Docker to set up a basic local development environment for a Drupal 8 website on Ubuntu 16.04.  I will be using PHP 7.0 and MariaDB.  This is done for an actual website and some problems are encountered which will demonstrate how to debug and the tools that can be used to solve issues.

Where has basePath gone in Drupal 8?

Javascript code in Drupal 7 used drupal_add_js() to attach Javascript code to a webpage.  The Javascript code then used Drupal.settings.basePath to prepend the path to the Drupal installation.  For Drupal installed in the root directory, Drupal.settings.basePath is just the string '/' but if Drupal is installed in a subdirectory then this is necessary for the Javascript code to continue to work.  The php part is

drupal_add_js(drupal_get_path('module', 'mymodule') . '/mymodule.js');

and the Javascript part is

Fuzzy autocomplete

For a small number of taxonomy terms, a select box can be used where the choices are explicitly displayed to the user.  But for larger numbers of terms using a select box becomes problematic.  Using a textfield with autocomplete is an obvious option when there are a large number of terms but it can be discarded because it is not robust to variations in spelling.  This post shows how in Drupal 7 a fuzzy autocomplete can be used to increase robustness.

Understanding the node processor plugin for the Feeds module

In Drupal 6, the Feeds module has three types of plugins.  These are the fetcher, parser and the processor plugins.  The processor plugins that are supplied with the Feeds module are for data, nodes, taxonomy and users.  This article looks at the node processor.

If a feed is imported multiple times to allow the information in the feed to update the Drupal site, thre are three options under the node processor settings.  These are