A journey: Converting this site to D8

By Erik, Tue, 05/13/2014 - 13:57
Well, Drupal 8 is right around the corner. There's a lot of effort to get a beta release out, there are trainings being developed and books being written. But when I thought about the best way to teach myself about Drupal 8, the obvious choice was to install it and play around, investigate the issue queues, try to help in Sprints, and pick a small site to just bite the bullet and convert. So since I only maintain one site, I guess this will have to do. I am going to blog a bit about how I'm going about converting the site. For now, I am working locally for a bit until I have figured out the following things:
  • Spam protection
  • Content import
I want to be able to have all my old posts up and I'd love to be able to leave commenting turned on. I don't have that many posts, so even a copy/paste wouldn't be the end of the world. But with all of the work being done in the core IMP initiative to build a system in core to do imports/upgrades, I want to get a handle on how that work is progressing and see if I can use it to bring in the Drupal 7 nodes. The biggest thing I have found is that keeping it simple is easiest. Not very many contrib modules have been keeping up with the rapid changes in Drupal 8, which is very understandable. Luckily this site is fairly simple. I have two content types; Page for the About and blog for the Ramblings posts. The blog posts have a title, a body, a "file" field for attachments, and a keyword field. All very straight forward, no radical changes. The modules I have are brought in are:
repo (master) $ drush --uri=eporama.com pml --type=module --status=enabled --no-core
 Package                   Name                                Version
 Acquia Network Connector  Acquia agent (acquia_agent)         7.x-2.14
 Chaos tool suite          Chaos tools (ctools)                7.x-1.4
 OAuth                     OAuth (oauth_common)                7.x-3.2
 Other                     Code Filter (codefilter)            7.x-1.1
 Other                     Entity API (entity)                 7.x-1.5
 Other                     Entity tokens (entity_token)        7.x-1.5
 Other                     Mollom (mollom)                     7.x-2.10
 Other                     Pathauto (pathauto)                 7.x-1.2
 Other                     Token (token)                       7.x-1.5
 Other                     Twitter (twitter)                   7.x-5.8
 Rules                     Rules (rules)                       7.x-2.7
 Statistics                Google Analytics (googleanalytics)  7.x-1.4
 Views                     Views (views)                       7.x-3.7
 XML sitemap               XML sitemap (xmlsitemap)            7.x-2.0
 XML sitemap               XML sitemap node (xmlsitemap_node)  7.x-2.0
I use Rules only to alert me to new comments, Pathauto just helps to make "/ramblings/title" paths easily and that requires entity, entity_token, and token modules. Views required ctools and the twitter module requires oauth. So I don't need really any of these except Mollom to complete my list above. I can make paths manually when creating new posts (I'm not very prolific at blogging, so that won't be an undue burden), I can probably get by with a twitter widget for embedding tweets, Views is in core (yea!) and I'll update acquia network, google analytics and sitemap over time. So for now, I'm going to make a new version of the site, and see what I can do for spam protection and importing my current ramblings. next up: adventures with making code pretty.