Drupal 8 The site builder's release Antje Lorch @ifrik DrupalCamp Vienna 2015 #dcvie drupal.org/u/ifrik
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
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
Every site builder has their own toolbox
There's a module for that.
There's a module for that. That's in core
There's a module for that. That's in core and in our site builder's tool box.
Drupal 8.0, xxxx-xx-xx (development version) * PHP Filter ---------------------- * Poll - Added Twig as the default template engine and converted all.tpl.php templates to.html.twig. * Profile - 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 * Trigger - Removed the Overlay module from core. - Removed the Garland theme from core. - Removed the Statistics module's accesslog functionality and reports from core. independently from the latest revision, allowing for the creation of - Removed XML-RPC functionality from core. drafts while the current revision stays published. - Removed user signatures support from core. * 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. - 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. - Included the Assetic asset management framework for PHP. * Made it possible to assign external language codes to local languages. - Included Backbone.js and Underscore.js JavaScript frameworks. * Introduced the possibility of an administration-specific language preference for users. - 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 * 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.
* 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. * 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 language variance support to search module. - Added Entity Reference field type to core. * Search indexing and query preprocessors now get language information. - Added Date field type to core. * 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. - 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.
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
1. Better editor experience
1. Better editor experience
2. Wysiwyg editor in core no external libaries
2. Wysiwyg editor buttons rendered by HTML
3 & 4. (Nearly) everything is fieldable more field types: date, link, email, phone number, entity reference fieldable comments, contact forms configurable form display
Example: User picture in D7 user picture can be enabled, but not be required display cannot be managed
5. More of everything several contact forms additional comment types comments are a field
Example: Comment field
6. Blocks everything is/can placed as blocks content & configuration are separated reusable
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
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
Features in D7
Configuration management in D8 text files (.yml) export as full archive synchronisation inspect changes
Single export
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
10. Views Views are in core & Views are used for admin pages
Example: D7 admin page
Example: D8 admin page
Build admin pages with Views! easier & faster to change more secure extendable
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
and in contrib Search and Facets modules Consolidation Media modules Panels and Display Suite fully interchangable layouts
Contributed modules https://www.drupal.org/project/contrib_tracker
Contributed modules https://contribkanban.com/board/contrib_tracker
Contributed modules
Contributed modules File issues Review patches Update documentation Sprint: Sunday, 29. Nov, 09:00-18:00
Questions? @ifrik IRC: clara Everything multilingual in Drupal 8 Gábor Hojtsy 15:00 - Wunderkraut Configuration Management Fabian Bircher 14:00 - webshapers How to Improve Your Project s Accessibility Without Going Crazy Eric Eggert 15:00 - webshapers Sprint: Sunday, 29. Nov, 09:00-18:00