+ All Categories
Home > Internet > DrupalTour. Rivne — Drupal 8 (Ivan Tibezh, InternetDevels)

DrupalTour. Rivne — Drupal 8 (Ivan Tibezh, InternetDevels)

Date post: 07-Aug-2015
Category:
Upload: drupaltour
View: 51 times
Download: 1 times
Share this document with a friend
47
Ivan Tibezh at InternetDevels
Transcript

Ivan Tibezh at InternetDevels

План

● What is Drupal?● Who uses Drupal?● For end-users & clients● For site builders● Multilang● For designers and themers● For developers● Summary

What is Drupal?

ЦМС з відкритим кодом.

Who uses Drupal?

...and more than a million other organizations

Drupal 8 improvements for end-users & clients

Authoring improvement: WYSIWYG in Core

Authoring improvement: In-place editing

Authoring improvement: In-place editing

Authoring improvement:New content creation page

Authoring improvement:Preview on the frontend

It’s mobile-first

Responsive themes, images, breakpoints

Mobile-friendly administration

Drupal 8 improvements for site builders

Improved Data Modeling Tools: New field types like Entity Reference

…plus, Link, Phone, Email, Comments!

Improved Data Modeling Tools: New field types

Date/Datetime

Form displays: customize the look and feel of data entry forms

Views in Core

Views = fully customizable...

With the Drupal 8 views, you can customize:● Admin listings ● Sidebar content ● Image galleries ● Slideshows ● REST output

...with 0 lines of code!

Restyled administration interface

Multilingual improvements in Drupal 8

Community translation downloads

Language data tracking expanded

Translation on (almost) everything

Drupal 8 improvements for designers and themers

HTML5 Form Elements

New front-end libraries

Twig Example: node.html.twig<article{{ attributes }}> {{ title_prefix }} {% if not page %} <h2{{ title_attributes }}> <a href="{{ url }}" rel="bookmark">{{ label }}</a> </h2> {% endif %} {{ title_suffix }} {% if display_submitted %} <footer class="node__meta"> {{ author_picture }} <div class="node__submitted {{ author_attributes.class }}"{{ author_attributes|without('class') }}> {% trans %}Submitted by {{ author_name|passthrough }} on {{ date }}{% endtrans %} {{ metadata }} </div> </footer> {% endif %} <div class="node__content {{ content_attributes.class }}"{{ content_attributes|without('class') }}> {{ content|without('links') }} </div> {% if content.links %} <div class="node__links"> {{ content.links }} </div> {% endif %}</article>

node.tpl.php<div id="node-<?php print $node->nid; ?>" class="<?php print $classes; ?> clearfix"<?php print $attributes; ?>> <?php print $user_picture; ?> <?php print render($title_prefix); ?> <?php if (!$page): ?> <h2<?php print $title_attributes; ?>><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2> <?php endif; ?> <?php print render($title_suffix); ?> <?php if ($display_submitted): ?> <div class="submitted"> <?php print $submitted; ?> </div> <?php endif; ?> <div class="content"<?php print $content_attributes; ?>> <?php hide($content['comments']); hide($content['links']); print render($content); ?> </div> <?php print render($content['links']); ?> <?php print render($content['comments']); ?></div>

Native Schema.org Output

Killed support for IE 6 & 7 (and most of 8)

Drupal 8 improvements for developers

Configuration management

dev stage production

Drush integration for automation

Web services

other systems or frameworks

desktop

Android applications

other Drupal sites

Flash components

iPhone applications

kiosk applications

● HttpFoundation ● HttpKernel● Dependency ● Injection ● EventDispatcher ● Routing ● Yaml

Symfony framework

GETting data out of Drupal: RESTful Web Services module

GETting data into Drupal: Guzzle

$client = \Drupal::httpClient();$config = \Drupal::config('3rdparty.settings');

// Format arguments for passing in URL.$arg = urlencode($argument);

// Pull data from 3rd party's REST API.$api_key = $config->get('api_key');$request = $client->get("http://3rdparty.com/$arg/?key=$api_key");

// Get the response and do something with it.$response = $request->send();$json = $response->json();

...

Catch all of the improvements!

https://drupal.org/list-changes

More than 2,200

people have

contributed to Drupal

8 so far!

https://drupal.org/contribute

Where do we need help?

● Finding and fixing bugs ● Performance ● Migration path ● Port contributed projects● DOCUMENTATION! ● EXAMPLES! ● TOOLS! ● TESTING, TESTING, TESTING!

When should I use Drupal 8?Keep your eye on https://drupal.org/project/usage/drupal

My own modules?

● Use https://www.drupal.org/project/drupalmoduleupgrader to start the upgrade of your code.

● If you need to / want to start your module fresh, see https://www.drupal.org/project/console


Recommended