Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drupal 8: The site builder's release

Avatar for ifrik ifrik
November 28, 2015

Drupal 8: The site builder's release

Overview over Drupal 8 features that are of relevance for site building.
Session at DrupalCamp Vienna 2015, https://2015.drupalcamp.at/session/drupal-8-site-builders-release
as well as at DrupalJam Netherlands, May 2016, http://drupaljam.nl/#gewijzigd-drupal-8-the-site-builders-release

Avatar for ifrik

ifrik

November 28, 2015

More Decks by ifrik

Other Decks in Technology

Transcript

  1. about me Sitebuilder Building websites for small NGOs and grassroots

    organisations Documentation Working Group fixing what's broken for me, so others can use it
  2. A site builder is somebody who puts things together so

    that others can use the site. with knowledge of Drupal's ecosystem, sets of commonly used tasks and configuration, workflows for deploying changes. http://running-on-drupal8.co.uk/blog/drupal-site-builder
  3. Drupal 8.0, xxxx-xx-xx (development version) ---------------------- - Added Twig as

    the default template engine and converted all .tpl.php templates to .html.twig. - Added tour module. Provides highly contextual tips for UI elements. - Improved entity system. * Added support for saving and deleting entities through the controller. * Entities are now classed objects, implementing EntityInterface. * Drupal now understands the concept of a "default" revision, tracked independently from the latest revision, allowing for the creation of drafts while the current revision stays published. * All entity types, not just nodes, now have support for revisions. - Replaced the core routing system with one built on the Symfony2 framework. - Configuration: * Added a centralized file-based configuration system. * Allows module authors to provide configuration in a standard format. * Implements functionality to get, set, add and remove configuration. * Includes ability to override configuration values with language variants and other runtime values. - Added the CKEditor WYSIWYG editor. Provides a drag-and-drop configuration UI. - Included the HTML5 Shiv library to support HTML5 elements in IE 8 and below. - Included the following Symfony2 components: * ClassLoader - PSR-0-compatible autoload routines. * DependencyInjection - Flexible dependency injection container. * EventDispatcher - Object-oriented lightweight event handling system. * HttpFoundation - Abstraction objects for HTTP requests and responses. * HttpKernel - Core system for managing incoming HTTP request and responses. * Process - Allows for executing commands in a sub-process. * Routing - Framework for mapping incoming requests to controller information. * Yaml - Parser for YAML files. - Included the Assetic asset management framework for PHP. - Included Backbone.js and Underscore.js JavaScript frameworks. - Support added for making HTTP requests through a proxy server. - Removed modules from core. * The following modules have been removed from core, because contributed modules with similar functionality are available: * Blog * Dashboard * OpenID * PHP Filter * Poll * Profile * Trigger - Removed the Overlay module from core. - Removed the Garland theme from core. - Removed the Statistics module's accesslog functionality and reports from core. - Removed XML-RPC functionality from core. - Removed user signatures support from core. - Removed backwards-compatibility with 'magic_quotes_gpc'/'magic_quotes_runtime' PHP configuration settings. Both are required to be disabled. - Universally Unique IDentifier (UUID): * Support for generating and validating UUIDs. - JavaScript changes: * Updated to jQuery 2.1.0 * Updated to jQuery UI 1.10.2 * Removed jquery.bbq - Tremendously improved language support all around. * Great language improvements for users: * Improved language selection with user preference detection in the installer. * Moved base language support to Language module. * Greatly simplified the interface for setting up languages. * Improved browser language detection considerably. * Language domain and path prefix configuraton simplified and centralized; path prefix detection is now default. * Added HTML 5 language markup; language information added in markup in several more places. * Made it possible to assign external language codes to local languages. * Introduced the possibility of an administration-specific language preference for users. * Simplified and added new features in interface translation: * Made interface translation directly accessible from language list. * Centralized interface translation import to one directory. * Drupal can now be translated to English and English can be deleted. * Much improved built-in translation interface. * Added support for singular/plural discovery and translation.
  4. * Customized translations are tracked so your modifications can be

    identified and protected from translation update overwrites. * All Gettext files are now imported in chunks, better for low resource environments. * Improved content language support: * Made it possible to assign language to taxonomy terms, vocabularies, menu items, and files. * Added a field translation based content translation module that applies to all content entities. * Removed the old node-copy based content translation module. * Introduced language defaults configuration for each entity type and subtype. * Added entity language variance support to search module. * Search indexing and query preprocessors now get language information. * Unified content translation permission granularity with content editing permissions. * Made the language selector freely orderable in entity forms. * Better configuration language support * Added language selectors to most configuration options (views, menus, etc.) * Added a configuration translation user interface that works with any configuration with translatable values (blocks, views, fields, etc.). * Added language options to block visibility. * Much improved language APIs for developers: * Added simple APIs and hooks to save/delete/update languages. * New Language class wraps language information, used universally. * Unified database schemas and APIs to make it easier to spot where language codes are referenced. * Made the language negotiation system APIs more consistent for developers. * Made it possible for users to have a preferred language separate from their user entity language. * The text formatter from t() is now available as format_string(). * Added support for interface translation contexts in Drupal.t(), Drupal.formatPlural() as well as routing, tabs, actions, and contextual links. * Removed textgroups support from interface translation in favor of native configuration language support. * Added configuration schema system to support generating translation forms for any configuration. * Reworked Gettext PO support to use pluggable read/write handlers. * Added language select form element in the Form API. - Added Email field type to core. - Added Link field type to core. - Added Phone number field type to core. - Added local image input filter, to enable secure image posting. - Added Views and Views UI module to core. - Added Entity Reference field type to core. - Added Date field type to core. - Added a Web Services module package. * Added a RESTful web services provider module. * Added a serialization module using the Symfony serialization component. * Added a Hypertext Application Language (HAL) serialization module. * Added a HTTP Basic authentication provider module. - When using MySQL, the MyISAM engine is no longer supported.
  5. My site builder's Top Ten Better site admin experience Wysiwyg

    editor More field types (Nearly) everything is fieldable Additional comment types and contact forms Better Blocks Multilingual Configuration management Data migration Views
  6. 3 & 4. (Nearly) everything is fieldable more field types:

    date, link, email, phone number, entity reference fieldable comments, contact forms configurable form display
  7. Example: User picture in D7 user picture can be enabled,

    but not be “required” display cannot be managed
  8. 7. Multilingual translatable Content, Interface and Configuration change English interface

    text by “translating” it improved admin interface Everything multilingual in Drupal 8 Gábor Hojtsy 15:00 - Wunderkraut
  9. 8. Configuration management Configuration Management Fabian Bircher 14:00 - webshapers

    Configuration management in Drupal 8 Alex Pott – DrupalCon Barcelona https://events.drupal.org/barcelona2015/ sessions/configuration-management-drupal-8
  10. Configuration management in D8 text files (.yml) export as full

    archive synchronisation inspect changes
  11. 9. Migration  Migration instead of upgrading  Migration and

    Drupal migration:  in core as “experimental modules” without UI  D6 > D8 is stable, D7 > D8 not yet feature complete  UI provided by “Drupal upgrade” module “Needs testing in the wild”
  12. and more in core... Accessability features: visually hidden field labels,

    required Alt-text for images, more semantic HTML5 https://www.drupal.org/node/2004876 How to Improve Your Project’s Accessibility Without Going Crazy Eric Eggert 15:00 - webshapers
  13. … and in contrib Search and Facets modules Consolidation Media

    modules Panels and Display Suite fully interchangable layouts
  14. Questions? @ifrik IRC: clara Sprint: Sunday, 29. Nov, 09:00 -

    18:00 How to Improve Your Project’s Accessibility Without Going Crazy Eric Eggert 15:00 - webshapers Configuration Management Fabian Bircher 14:00 - webshapers Everything multilingual in Drupal 8 Gábor Hojtsy 15:00 - Wunderkraut