Here at Chapter Three we have not only been contributing to the development of D8, but we have also built new sites and migrated old ones. So far the consensus is, “we love it,” with one developer going so far as to say “I feel very spoiled on D8.”
While we haven't reached the point where you can just click to upgrade, the process is not daunting. In our spare time we have been updating our the Chapter Three website, so keep an eye out in the near future for another D8 site launch.
If you want to upgrade your D6/D7 site, there are two main tasks: migrating your content and configuration and updating your theme.
Theming
Updating your theme to the Twig theme engine provides greater security along with improved template capabilities. For further reading on D8 theming, check out the following articles written by our own Phil, Zakiya and Casey:
- Drupal 8 Theming: Basic guide to theme *.info.yml files
- Presentation: Drupal 8 Theming
- How to Create Custom Theme Suggestions in Drupal 8
- Drupal 8 Theming: Setting up theme debugging
Migration
Migrating your site's configuration and content can be done with the Migrate module which is now included in core. Additionally, the Migrate Plus module includes extra functionality such as the ability to process individual rows of data as well as migrate from the common CSV, JSON, and XML formats. If you want to use a web interface then install the “Drupal Upgrade” module (this may be included in future versions of D8 core) and visit yoursite.com/upgrade.
From the interface you can specify the details of your original site's database and files directory. Once the migration is able to read the source database, it will give you a report of the entities that can be successfully migrated. Before you get too excited to see how well your site will import, don't forget to back up your new D8 database. It would be a shame to waste your effort until this point.
Once you migrate your site content and configuration you will be able to review your new D8 site's data and structure. If any fields or entities did not come through correctly, you will need to create some custom migration scripts.
If you are interested in further reading, here is a collection of Drupal.org articles on the D8 migration process: