GraphQL is well suited for Drupal since Drupal has a data schema that can be mapped to a schema for GraphQL. The GraphQL Drupal contributed project provides this mapping yet it is rapidly changing and has no documentation. Tutorials are quickly out of date. Some of the more recent changes are covered in this article. It expands on the Decoupled Drupal, GraphQL and React article.
Many tutorials on writing apps try to do almost everything graphically and use very little code. This is great for demonstrating how easy it is to quickly write an app but can leave one without real understanding.
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
Suppose that the information to be displayed comes from two different views that somehow needs to be joined. In SQL this can be done using a "UNION' but Views does not have such a construct. But it does not take a lot of code to achieve this in Drupal 8.
Tracking down an error in PHP code often requires knowledge about how the function is being called. In cases such as this a stack trace is often useful to show the call stack. PHP has a function debug_backtrace() that I have found useful in displaying the call stack. But it seems to use a lot of resources. So I wanted to quantify this and try a new approach that I have been using lately. I used something in Drupal 8 that I was debugging. Results will differ greatly depending on the case but the overall trends should be similar. I used
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.
Docker has just been released for Mac 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.
Radio Buttons using NSMatrix has been deprecated and information on how to use Radio Buttons without NSMatrix is difficult to find. So this is documentation of a way to use the new Radios Buttons using Xcode 7.2.1 and Swift 2.1.1.
Create a new Xcode project and choose Cocoa Application under OS X Application. Call it Radio Buttons and check Swift. Do not check Use Storyboards, Create Document-Based Application or Use Core Data.