Matthew Tift
            
            
              
Senior Developer at Lullabot
              Drupal core contributor since 2010
              Drupal 8 config system co-maintainer
              Twin Cities Drupal Camp organizer
            
           
        
        
          Drupal
            What is the same
            What is new
        
        
          What is the same?
           
        
        
        
        
        
            History
            June 1995: PHP 1.0 Released
            Jan 2001: Drupal 1.0 Released
            Jan 2007: Drupal 5.0 Released
            Jan 2011: Drupal 7.0 Released
            Mar 2011: D8 Development Began
            October 7: Drupal 8 Release Candidate 1
        
        
        
        
          Drupal is
          passionate people
        
        
        
        
          What is new?
           
        
        
           
          Backdrop
          Drupal fork
          1.0 released January 15, 2015
          1.2 released September 15, 2015
        
        
           
          Backdrop
          Hosted on GitHub
          Architecture is similar to Drupal 7
          Has many Drupal 8 features
        
        
          PHP Renaissance
          
          First major PHP project to use FIG
        
        
          PHP Renaissance
          
          Write 
 less code
        
        
          PHP Renaissance
          
          Reuse 
 more code
        
        
          PHP Renaissance
          
          Share 
 more code
        
        
          Drupal 8
          borrows from many open source projects
        
        
          Drupal 8
          Behat
          Composer
          Doctrine
          Guzzle
          phpDocumentor
          PHPUnit
          Symfony
          Twig
          Zend
        
        
            
              
New template engine:
Twig
            
             
        
        
          Drupal 8
          node.tpl.php
node.html.twig
        
        
            
                
Composer handles PHP dependencies
            
             
        
        
          Guzzle
          HTTP client library
             
        
        
            Symfony handles web requests
             
        
        
          Drupal 8
          PHP 5.5.9 or higher
        
        
            Drupal 8
            PHP standards (PSR-4, namespaces, traits)
        
        
            Drupal 8
            classes, inheritance, interfaces, etc.
        
        
          Drupal 8
          has more than 
 200 new features
        
        
          Drupal 8
          is 5 years worth of development work
        
        
          Drupal 8
          has 3,000+ contributors
        
        
          Drupal 8
          has 15,000+ committed patches
        
        
          Drupal 8
          powers more than 
 400 websites
          
          
        
        
            Key Improvements
            Mobile
            Usability
            Configuration Management
            Multilingual
            Web Services
        
        
            All Drupal 8 themes are responsive
            ✓ Classy
            ✓ Bartik
            ✓ Stark
            ✓ Seven
        
        
        
            Usability
             
        
        
            CKEditor
             
        
        
            CKEditor In Core
            
             
        
        
            In-Place Editing
             
        
        
        
            Form Editing
             
        
        
        
            Tour Module
             
        
        
        
            Select Multiple Files
             
        
        
            Multiple Upload
             
        
        
        
          Drupal 8
Configuration Management
        
        
            D7 Problem:
            No good way to move Drupal configuration information between environments
        
        
            D7 Problem:
            Every module stores its configuration data in a different format
        
        
            D8 Config API
            Provides a central place for modules to store configuration
        
        
            Configuration for Developers
             
        
        
            Configuration data provided in YAML
            
              id: html_date
              label: 'HTML Date'
              status: true
              langcode: en
              locked: true
              pattern: Y-m-d
            
        
        
        
        
        
        
            D7 Problem:
            Not possible to remove English
            Manually download language files
            Translating description, alt, title, tags
            Bazillion modules needed
        
        
            Choose Language on First Screen
            94 languages available
             
        
        
            English is now optional
             
        
        
            Automatic Translation Importing
             
        
        
            Easier right to left styling
             
        
        
        
        
            Views in Core
             
        
        
            No Wait for Views
             
        
        
            Homepage is a view
             
        
        
            Content and People Pages are views
             
        
        
        
        
        
            D7 Problem:
            Drupal assumes it will be delivering a blog-like HTML page
        
        
            The Web Services and Context Core Initiative (WSCCI) aims to
              transform Drupal from a first-class CMS to a first-class REST server with a
              first-class CMS on top of it
        
        
            Drupal 8 is a web service
        
        
            REST/serialization support
            Expose any View as a serialized resource collection
        
        
        
        
        
            New Fields
            Date
            Email
            Link
            Reference
            Telephone
        
        
            Unit-Testable Code
            Dependency Injection Container 
 helps make code more unit testable
             
        
        
            Modules in /modules
            Themes in /themes
            
/sites/all/ is still supported
        
        
            Anthony Ferrara (ircmaxell)
             
        
        
        
            Drupal 8
            more object oriented, but still many hooks
        
        
            Drupal 8
            HTML 5-based page markup
        
        
          Drupal 8
          No JavaScript loaded by default
        
        
          More on Drupal
          
          
          (May 2015)
          
          
          (Sept. 2015)