SlideShare a Scribd company logo
1 of 58
Download to read offline
WHO WE ARE
Leolando Tan,
Front end developer, Promet Source
Mary Chris Casis,
Junior Front end developer, Webizat
Luc Bezier,
Freelance & Consultant Drupal,
Promet Source / Webizat
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 2
SUMMARY
● Project overview
● Why start with Drupal 8 Beta?
● Site building
● Theming
● Configuration Manager
● Custom Module
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 3
THE PROJECT
Drupalcamp Cebu 2015 website.
Sessions, Speakers, Venue info, Event info, Sponsors ...
Open Source: https://github.com/promet/drupalcampcebu2015/
Live at https://2015.drupalcebu.org
Development partially sponsored by Promet Source and Webizat.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 4
THE PROJECT
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 5
https://github.com/promet/drupalcampcebu2015/
DRUPAL-8-BETA-12
Project started with Beta-12. Beta-12 was:
- An Early version.
- Unstable. A version for development, not production.
- Over 20 known critical issues with this beta release.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 6
WHY START WITH DRUPAL 8 BETA?
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 7
WHY WE USED DRUPAL 8 BETA
New features and improvements (more than 200 in total).
Project is not critical.
Project can be done using core alone (no contributed modules).
No data to migrate.
We would go live on RC1, not beta.
Great opportunity to learn and share.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 8
DRUPAL-8-BETA-12
Project started in July, using Drupal 8 beta 12.
Beta 12 & 13, our goal :
Create configuration and share it with other developers.
Thanks “vagrant” …
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 9
OUR BETA TO RC JOURNEY
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 10
BETA-14
THEMING
BETA-12 & 13
SETUP
Configuration
management.
OUR BETA TO RC JOURNEY
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 11
BETA-14
THEMING
BETA-15 & 16
TROUBLES
No beta to beta
updates from Beta-
14.
BETA-12 & 13
SETUP
Configuration
management.
OUR BETA TO RC JOURNEY
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 12
BETA-14
THEMING
BETA-15 & 16
TROUBLES
No beta to beta
updates from Beta-
14.
RC1
LIVE
We go Live and
Open Source
RC2 & RC3
PROJECT
IMPROVEMENTS
Life is good !
BETA-12 & 13
SETUP
Configuration
management.
SITE BUILDING
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 13
CONTRIB TO D8 CORE
Breakpoint CacheTags
Content Translation Email
Entity File Entity
Link Phone
Picture Quick Edit
Transliteration UUID
Views / CTools RESTWS (REST)
CKEditor Date
Display Suite (view modes) Internationalization
Migrate
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 14
CONTRIB TO D8 CORE
CKEditor
Finally a great wysiwyg
integration out of
the box.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 15
Adding the image
button
Automatically
adds the plugin
settings
D7 CORE TO CONTRIB
Blog
Dashboard
PHP Filter
Poll
XML-RPC
RIP : Overlay
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 16
D7 CORE TO CONTRIB
Overlay in Drupal 7 - Removed in Drupal 8
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 17
NEW FIELDS TYPE IN CORE
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 18
Telephone
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 19
Uses HTML5 input form field for
telephone field.
Mobile-friendly
SAVING PAGES IN D8
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 20
PLACING BLOCKS
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 21
Assign blocks to a
region using
“place block”.
Nothing in
disabled blocks by
default.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 22
PLACING BLOCKS
Finally, out of the box you can place
the same block on two regions !
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 23
PLACING BLOCKS
Visibility settings when a
block is being placed on a
region.
With drupal 7 core you
would set that setting
once, directly on the block.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 24
Adding fields directly on the custom block, like a content type.
CUSTOM BLOCK LIBRARY
THEMING
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 25
26
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015
CREATING A SUB-THEME
Place themes in the ‘themes/custom’ folder.
BOOSTRAP THEME IN DRUPAL 8
Started our theme on D8 beta versions,
no boostrap theme for D8 yet.
The community pledged to release Bootstrap
theme for Drupal-8.0.0
drupal.org/project/bootstrap
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 27
OUR THEME SOLUTION
Classy +
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 28
LIBRARIES.YML EXAMPLE
cuddly-slider:
version: 1.x
css:
theme:
css/cuddly-slider.css: {}
js:
js/cuddly-slider.js: {}
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 29
LIBRARIES.YML - CSS EXAMPLE
+ css
+ base
- normalize.css
+ layout
- layout.css
- layout--medium.css
- layout--wide.css
+ components
- button.css
+ theme
- theme--light.css
- theme--dark.css
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 30
LIBRARIES.YML - JS
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 31
QUESTION, BUG OR NOT?
Started theming from Beta 14.
Our theme is a sub theme of Classy.
In beta 16, we implemented the libraries, but not javascript is coming
up. We checked several times, but it doesn’t work.
What is going on ? Bug or not ?
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 32
INJECT YOUR CSS AND JAVASCRIPT
Not a bug.
Learn the hard way, if you want JS, in <head> inside html.html.twig
you will need :
<js-placeholder token="{{ placeholder_token|raw }}">
Classy theme does not use javascript,
no JS injection in the template in beta-14. It came later on in classy.
We found that line when Classy got updated, on beta-16.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 33
LIBRARIES.YML
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 34
LIBRARIES.YML
Note the dependencies with Drupal core javascript.
- core/DrupalSettings
It lets us use the settings variables in Drupal behaviors.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 35
JAVASCRIPT IN DRUPAL 8
The “ok it works” method
$(document).ready(function () {
// Do some fancy stuff.
});
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 36
JAVASCRIPT IN DRUPAL 8
The right way.
Drupal.behaviors(drupalSettings)
.once()
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 37
JAVASCRIPT IN DRUPAL 8
Drupal.behaviors.myBehavior = {
attach: function (context, settings) {
$('input.myCustomBehavior',context)
.once('myCustomBehavior').addClass('processed');
}
};
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 38
TWIG DEBUGGING, ACTIVATE
sites/default/services.yml
parameters:
twig.config:
debug: true
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 39
TWIG DEBUGGING, RESULT IN HTML
<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
* node--view--frontpage--page-1.html.twig
* node--view--frontpage.html.twig
* node--1--teaser.html.twig
* node--1.html.twig
* node--article--teaser.html.twig
* node--article.html.twig
* node--teaser.html.twig
x node.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->
<article>....</article>
<!-- END OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 40
TWIG DEBUGGING, DEVEL KINT MODULE
Debug all the variables:
{{ kint() }}
Debug an object or array:
{{ kint(page.content) }}
For special characters (like #), use this:
{{ kint(page[“#content_two”]) }}
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 41
TWIG DEBUGGING
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 42
CONFIGURATION
MANAGER
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 43
FEATURES MODULE IN DRUPAL 7
Features is a contributed module to group components from modules
together in a single feature module.
What we are supposed to do with features:
Group together functionalities to answer a specific use case.
What we really do with the features module in Drupal 7:
We build a complex deployment system to synchronize environments.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 44
DRUPAL 8 CONFIGURATION MANAGER
The configuration manager module stores all the configuration of your
project as yaml files.
Made to synchronize environments and helps to manage complexity.
Those yaml files are :
- Small: Reduces conflicts.
- Organized: They follow a naming standards and structure.
- Separate: Sites own a configuration, not modules.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 45
DRUSH COMMANDS FOR CONFIGURATION
Export your configuration:
$ drush cex
Import your configuration:
$ drush cim
Those commands import / export all your configuration.
Use GIT to select which yaml configuration you really want to update
and share.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 46
DRUPAL 8 CONFIGURATION MANAGER
The configuration manager is not made to share configuration across
several projects. Your site owns a configuration.
To use the configuration in different environments of the same project,
they will need the same Universally Unique IDentifier (UUID).
Drush command to know your project’s UUID:
$ drush cget system.site
To edit the UUID:
$ drush cedit system.site
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 47
BETA ISSUES
During the beta development, the variable name to synchronize the
configuration changed, from “staging” to “sync”, causing us some issues.
You will now set your configuration folder like :
$config_directories['sync'] = './../config/sync';
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 48
QUESTION, BUG OR NOT?
We deleted a field.
The system deleted a view at the same time.
We checked the view using the UI, that specific field was not used in
the view.
What happened ? Bug or not ?
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 49
NOT A BUG, IT’S DEPENDENCY
The fields were in the
master display of the view,
but not in any current
display.
Overridden by all displays
in the view, we could not
see the field in Views UI.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 50
Dependency. Deleting a field, used in a view, would delete that view.
CUSTOM MODULE
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 51
MODULES ARCHITECTURE
Description of your module is now a yaml file.
We still used a “.module” file.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 52
CUSTOM MODULE WITH FORM API
Form API is pretty similar as in Drupal 7.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 53
WHAT HAPPENED TO $USER?
Drupal 7:
GLOBAL $user;
Drupal 8:
$user = Drupal::currentUser();
Access the roles like:
$user->getRoles()
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 54
WHY DRUPAL 8 IS FAST?
Out of the box, Drupal 8 is optimized for production.
To develop, you will have some minor changes to do.
Here is the result of our Drupal 8 project, with a basic configuration :
Results from webpagetest.org for 2015.drupalcebu.org few days before the event.
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 55
MORE ABOUT D8 CORE AT DRUPALCAMP CEBU
2:45 PM
5 PM
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 56
All sessions of Drupalcamp Cebu 2015 on 2015.drupalcebu.org/sessions
QUESTIONS ?
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 57
THANK YOU !
Leolando Tan, @leolandotan
https://www.drupal.org/u/leolando.tan
Mary Chris Casis, @casismary
https://www.drupal.org/u/casism
Luc Bezier, @Luukyb
https://www.drupal.org/u/luukyb
MADE WITH DRUPAL 8
Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 58

More Related Content

What's hot

State of Drupal keynote, DrupalCon Vienna
State of Drupal keynote, DrupalCon ViennaState of Drupal keynote, DrupalCon Vienna
State of Drupal keynote, DrupalCon ViennaDries Buytaert
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Phase2
 
Drupal 8 - a peek under the hood
Drupal 8 - a peek under the hoodDrupal 8 - a peek under the hood
Drupal 8 - a peek under the hoodHector Iribarne
 
Managing a Project the Drupal Way - Drupal Open Days Ireland
Managing a Project the Drupal Way - Drupal Open Days IrelandManaging a Project the Drupal Way - Drupal Open Days Ireland
Managing a Project the Drupal Way - Drupal Open Days IrelandEmma Jane Hogbin Westby
 
How To Win a Hackaton - My thoughts on the WebGeek Devcup
How To Win a Hackaton - My thoughts on the WebGeek DevcupHow To Win a Hackaton - My thoughts on the WebGeek Devcup
How To Win a Hackaton - My thoughts on the WebGeek DevcupNikko Bautista
 
Drupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakesDrupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakesIztok Smolic
 
State of Drupal keynote, DrupalCon Dublin
State of Drupal keynote, DrupalCon DublinState of Drupal keynote, DrupalCon Dublin
State of Drupal keynote, DrupalCon DublinDries Buytaert
 
Drupal A non technical Introduction
Drupal A non technical IntroductionDrupal A non technical Introduction
Drupal A non technical IntroductionGeshan Manandhar
 
Fastest Way to DRUPAL
Fastest Way to DRUPALFastest Way to DRUPAL
Fastest Way to DRUPALBrahm
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalRod Martin
 
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introEdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introBryan Ollendyke
 
Complex Content Structures and Workflow with Drupal
Complex Content Structures and Workflow with DrupalComplex Content Structures and Workflow with Drupal
Complex Content Structures and Workflow with DrupalBalance Interactive
 
Preventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistPreventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistAcquia
 
Improving Drupal's Page Loading Performance
Improving Drupal's Page Loading PerformanceImproving Drupal's Page Loading Performance
Improving Drupal's Page Loading PerformanceWim Leers
 
Top 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal projectTop 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal projectIztok Smolic
 
State of Drupal keynote, DrupalCon India
State of Drupal keynote, DrupalCon IndiaState of Drupal keynote, DrupalCon India
State of Drupal keynote, DrupalCon IndiaDries Buytaert
 
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...Mediacurrent
 
From 0 to MVP in 40 minutes: decoupled Drupal for startups
From 0 to MVP in 40 minutes: decoupled Drupal for startupsFrom 0 to MVP in 40 minutes: decoupled Drupal for startups
From 0 to MVP in 40 minutes: decoupled Drupal for startupsJeffrey McGuire
 

What's hot (20)

State of Drupal keynote, DrupalCon Vienna
State of Drupal keynote, DrupalCon ViennaState of Drupal keynote, DrupalCon Vienna
State of Drupal keynote, DrupalCon Vienna
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
 
Drupal 8 - a peek under the hood
Drupal 8 - a peek under the hoodDrupal 8 - a peek under the hood
Drupal 8 - a peek under the hood
 
Managing a Project the Drupal Way - Drupal Open Days Ireland
Managing a Project the Drupal Way - Drupal Open Days IrelandManaging a Project the Drupal Way - Drupal Open Days Ireland
Managing a Project the Drupal Way - Drupal Open Days Ireland
 
How To Win a Hackaton - My thoughts on the WebGeek Devcup
How To Win a Hackaton - My thoughts on the WebGeek DevcupHow To Win a Hackaton - My thoughts on the WebGeek Devcup
How To Win a Hackaton - My thoughts on the WebGeek Devcup
 
Drupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakesDrupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakes
 
Drupal introduction
Drupal introductionDrupal introduction
Drupal introduction
 
Session v1
Session v1Session v1
Session v1
 
State of Drupal keynote, DrupalCon Dublin
State of Drupal keynote, DrupalCon DublinState of Drupal keynote, DrupalCon Dublin
State of Drupal keynote, DrupalCon Dublin
 
Drupal A non technical Introduction
Drupal A non technical IntroductionDrupal A non technical Introduction
Drupal A non technical Introduction
 
Fastest Way to DRUPAL
Fastest Way to DRUPALFastest Way to DRUPAL
Fastest Way to DRUPAL
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to Drupal
 
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introEdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
 
Complex Content Structures and Workflow with Drupal
Complex Content Structures and Workflow with DrupalComplex Content Structures and Workflow with Drupal
Complex Content Structures and Workflow with Drupal
 
Preventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistPreventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type Checklist
 
Improving Drupal's Page Loading Performance
Improving Drupal's Page Loading PerformanceImproving Drupal's Page Loading Performance
Improving Drupal's Page Loading Performance
 
Top 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal projectTop 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal project
 
State of Drupal keynote, DrupalCon India
State of Drupal keynote, DrupalCon IndiaState of Drupal keynote, DrupalCon India
State of Drupal keynote, DrupalCon India
 
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
 
From 0 to MVP in 40 minutes: decoupled Drupal for startups
From 0 to MVP in 40 minutes: decoupled Drupal for startupsFrom 0 to MVP in 40 minutes: decoupled Drupal for startups
From 0 to MVP in 40 minutes: decoupled Drupal for startups
 

Viewers also liked

Plain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticalsPlain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticalsAngela Byron
 
A critique of techno optimism (Alexander 2014) Lecturas recomendadas Samuel M...
A critique of techno optimism (Alexander 2014) Lecturas recomendadas Samuel M...A critique of techno optimism (Alexander 2014) Lecturas recomendadas Samuel M...
A critique of techno optimism (Alexander 2014) Lecturas recomendadas Samuel M...Ecologistas en Accion
 
Taller unidad-0-grado-septimo1
Taller unidad-0-grado-septimo1Taller unidad-0-grado-septimo1
Taller unidad-0-grado-septimo1rojas4612
 
Women in Leadership programs - Cultural Training Asia
Women in Leadership programs - Cultural Training AsiaWomen in Leadership programs - Cultural Training Asia
Women in Leadership programs - Cultural Training AsiaZsuzsannaT
 
HIRIKILABS How To Make#4 Baliza programable
HIRIKILABS How To Make#4 Baliza programableHIRIKILABS How To Make#4 Baliza programable
HIRIKILABS How To Make#4 Baliza programableTabakaleraDonostia
 
Hydal energy .....Energy obtained by water
Hydal energy .....Energy obtained by water Hydal energy .....Energy obtained by water
Hydal energy .....Energy obtained by water Purushottam Barde
 
OpenCoesione - Inform network meeting 2016
OpenCoesione - Inform network meeting 2016OpenCoesione - Inform network meeting 2016
OpenCoesione - Inform network meeting 2016OpenCoesione
 
IMPACT OF UNEMPLOYMENT ON GRADUATES` ATTITUDE TOWARDS 1
IMPACT OF UNEMPLOYMENT ON GRADUATES` ATTITUDE TOWARDS 1IMPACT OF UNEMPLOYMENT ON GRADUATES` ATTITUDE TOWARDS 1
IMPACT OF UNEMPLOYMENT ON GRADUATES` ATTITUDE TOWARDS 1Ahmed Sharif Adan
 
case study on span of managment
case study on span of managment case study on span of managment
case study on span of managment khushbu chauhan
 
La Persona como sujeto moral que realiza la Ética - Des.Hum.
La Persona como sujeto moral que realiza la Ética - Des.Hum.La Persona como sujeto moral que realiza la Ética - Des.Hum.
La Persona como sujeto moral que realiza la Ética - Des.Hum.Mark Anthony Flores Sanchez
 
Cómo trabajar las emociones en Educación Emocional
Cómo trabajar las emociones en Educación EmocionalCómo trabajar las emociones en Educación Emocional
Cómo trabajar las emociones en Educación EmocionalBelén Luzuriaga
 
Somali resources and government structure
Somali resources and government  structure  Somali resources and government  structure
Somali resources and government structure Abdinasir Ali
 
How to improve your english
How to improve your englishHow to improve your english
How to improve your englishUrsula Cabrera
 

Viewers also liked (19)

Plain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticalsPlain english guide to drupal 8 criticals
Plain english guide to drupal 8 criticals
 
A critique of techno optimism (Alexander 2014) Lecturas recomendadas Samuel M...
A critique of techno optimism (Alexander 2014) Lecturas recomendadas Samuel M...A critique of techno optimism (Alexander 2014) Lecturas recomendadas Samuel M...
A critique of techno optimism (Alexander 2014) Lecturas recomendadas Samuel M...
 
Byline Issue 1 Print
Byline Issue 1 PrintByline Issue 1 Print
Byline Issue 1 Print
 
Taller unidad-0-grado-septimo1
Taller unidad-0-grado-septimo1Taller unidad-0-grado-septimo1
Taller unidad-0-grado-septimo1
 
110629 stack ops - openstack
110629   stack ops - openstack110629   stack ops - openstack
110629 stack ops - openstack
 
CV_Viti_Alberto
CV_Viti_AlbertoCV_Viti_Alberto
CV_Viti_Alberto
 
Women in Leadership programs - Cultural Training Asia
Women in Leadership programs - Cultural Training AsiaWomen in Leadership programs - Cultural Training Asia
Women in Leadership programs - Cultural Training Asia
 
HIRIKILABS How To Make#4 Baliza programable
HIRIKILABS How To Make#4 Baliza programableHIRIKILABS How To Make#4 Baliza programable
HIRIKILABS How To Make#4 Baliza programable
 
Hydal energy .....Energy obtained by water
Hydal energy .....Energy obtained by water Hydal energy .....Energy obtained by water
Hydal energy .....Energy obtained by water
 
OpenCoesione - Inform network meeting 2016
OpenCoesione - Inform network meeting 2016OpenCoesione - Inform network meeting 2016
OpenCoesione - Inform network meeting 2016
 
Sidbi an introduction
Sidbi an introductionSidbi an introduction
Sidbi an introduction
 
IMPACT OF UNEMPLOYMENT ON GRADUATES` ATTITUDE TOWARDS 1
IMPACT OF UNEMPLOYMENT ON GRADUATES` ATTITUDE TOWARDS 1IMPACT OF UNEMPLOYMENT ON GRADUATES` ATTITUDE TOWARDS 1
IMPACT OF UNEMPLOYMENT ON GRADUATES` ATTITUDE TOWARDS 1
 
case study on span of managment
case study on span of managment case study on span of managment
case study on span of managment
 
La Persona como sujeto moral que realiza la Ética - Des.Hum.
La Persona como sujeto moral que realiza la Ética - Des.Hum.La Persona como sujeto moral que realiza la Ética - Des.Hum.
La Persona como sujeto moral que realiza la Ética - Des.Hum.
 
Cómo trabajar las emociones en Educación Emocional
Cómo trabajar las emociones en Educación EmocionalCómo trabajar las emociones en Educación Emocional
Cómo trabajar las emociones en Educación Emocional
 
Somali resources and government structure
Somali resources and government  structure  Somali resources and government  structure
Somali resources and government structure
 
How to improve your english
How to improve your englishHow to improve your english
How to improve your english
 
Sap abap
Sap abapSap abap
Sap abap
 
Dificultades del aprendizaje
Dificultades del aprendizajeDificultades del aprendizaje
Dificultades del aprendizaje
 

Similar to Made with drupal 8

Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 updateDrupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 updateAngela Byron
 
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...DrupalCamp Kyiv
 
CiviCRM for Drupal Developers, Site Builders, and Themers
CiviCRM for Drupal Developers, Site Builders, and ThemersCiviCRM for Drupal Developers, Site Builders, and Themers
CiviCRM for Drupal Developers, Site Builders, and ThemersKevin Reynen
 
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)Konstantin Komelin
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 SitesExove
 
Implementing an Enterprise Design System the Red Hat Way
Implementing an Enterprise Design System the Red Hat WayImplementing an Enterprise Design System the Red Hat Way
Implementing an Enterprise Design System the Red Hat WayDerek Reese
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedAngela Byron
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkMediacurrent
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Mediacurrent
 
I use drupal / 我是 OO 師,我用 Drupal
I use drupal / 我是 OO 師,我用 DrupalI use drupal / 我是 OO 師,我用 Drupal
I use drupal / 我是 OO 師,我用 DrupalChris Wu
 
Drupal training-by-ruchiwebsolutions
Drupal training-by-ruchiwebsolutionsDrupal training-by-ruchiwebsolutions
Drupal training-by-ruchiwebsolutionsphp2ranjan
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Jay Epstein
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Jay Epstein
 
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesCloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesAtlassian
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Acquia
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)craigbox
 

Similar to Made with drupal 8 (20)

Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 updateDrupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
 
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
 
CiviCRM for Drupal Developers, Site Builders, and Themers
CiviCRM for Drupal Developers, Site Builders, and ThemersCiviCRM for Drupal Developers, Site Builders, and Themers
CiviCRM for Drupal Developers, Site Builders, and Themers
 
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
 
#D8 cx: upgrade your modules to drupal 8
#D8 cx: upgrade your modules to drupal 8 #D8 cx: upgrade your modules to drupal 8
#D8 cx: upgrade your modules to drupal 8
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 Sites
 
Implementing an Enterprise Design System the Red Hat Way
Implementing an Enterprise Design System the Red Hat WayImplementing an Enterprise Design System the Red Hat Way
Implementing an Enterprise Design System the Red Hat Way
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths Debunked
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
 
I use drupal / 我是 OO 師,我用 Drupal
I use drupal / 我是 OO 師,我用 DrupalI use drupal / 我是 OO 師,我用 Drupal
I use drupal / 我是 OO 師,我用 Drupal
 
Dg presentation
Dg presentationDg presentation
Dg presentation
 
Drupalcampatl d7
Drupalcampatl d7Drupalcampatl d7
Drupalcampatl d7
 
Drupal training-by-ruchiwebsolutions
Drupal training-by-ruchiwebsolutionsDrupal training-by-ruchiwebsolutions
Drupal training-by-ruchiwebsolutions
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
 
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesCloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket Pipelines
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)
 
Getting started with Drush
Getting started with DrushGetting started with Drush
Getting started with Drush
 

More from Luc Bézier

Quick guide to Freedom and travels for developers
Quick guide to Freedom and travels for developersQuick guide to Freedom and travels for developers
Quick guide to Freedom and travels for developersLuc Bézier
 
Guide to freedom and travels for developers
Guide to freedom and travels for developersGuide to freedom and travels for developers
Guide to freedom and travels for developersLuc Bézier
 
The Future of Offices
The Future of OfficesThe Future of Offices
The Future of OfficesLuc Bézier
 
Drupal 8 Configuration Management for you and your team
Drupal 8 Configuration Management for you and your teamDrupal 8 Configuration Management for you and your team
Drupal 8 Configuration Management for you and your teamLuc Bézier
 
Introduction to Composer for Drupal
Introduction to Composer for DrupalIntroduction to Composer for Drupal
Introduction to Composer for DrupalLuc Bézier
 
Open Source Software, community matters
Open Source Software, community mattersOpen Source Software, community matters
Open Source Software, community mattersLuc Bézier
 
Data migration to Drupal using the migrate module
Data migration to Drupal using the migrate moduleData migration to Drupal using the migrate module
Data migration to Drupal using the migrate moduleLuc Bézier
 
Drupal ladder Cebu : Learn to contribute | November 2013
Drupal ladder Cebu : Learn to contribute | November 2013Drupal ladder Cebu : Learn to contribute | November 2013
Drupal ladder Cebu : Learn to contribute | November 2013Luc Bézier
 

More from Luc Bézier (8)

Quick guide to Freedom and travels for developers
Quick guide to Freedom and travels for developersQuick guide to Freedom and travels for developers
Quick guide to Freedom and travels for developers
 
Guide to freedom and travels for developers
Guide to freedom and travels for developersGuide to freedom and travels for developers
Guide to freedom and travels for developers
 
The Future of Offices
The Future of OfficesThe Future of Offices
The Future of Offices
 
Drupal 8 Configuration Management for you and your team
Drupal 8 Configuration Management for you and your teamDrupal 8 Configuration Management for you and your team
Drupal 8 Configuration Management for you and your team
 
Introduction to Composer for Drupal
Introduction to Composer for DrupalIntroduction to Composer for Drupal
Introduction to Composer for Drupal
 
Open Source Software, community matters
Open Source Software, community mattersOpen Source Software, community matters
Open Source Software, community matters
 
Data migration to Drupal using the migrate module
Data migration to Drupal using the migrate moduleData migration to Drupal using the migrate module
Data migration to Drupal using the migrate module
 
Drupal ladder Cebu : Learn to contribute | November 2013
Drupal ladder Cebu : Learn to contribute | November 2013Drupal ladder Cebu : Learn to contribute | November 2013
Drupal ladder Cebu : Learn to contribute | November 2013
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Made with drupal 8

  • 1.
  • 2. WHO WE ARE Leolando Tan, Front end developer, Promet Source Mary Chris Casis, Junior Front end developer, Webizat Luc Bezier, Freelance & Consultant Drupal, Promet Source / Webizat MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 2
  • 3. SUMMARY ● Project overview ● Why start with Drupal 8 Beta? ● Site building ● Theming ● Configuration Manager ● Custom Module MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 3
  • 4. THE PROJECT Drupalcamp Cebu 2015 website. Sessions, Speakers, Venue info, Event info, Sponsors ... Open Source: https://github.com/promet/drupalcampcebu2015/ Live at https://2015.drupalcebu.org Development partially sponsored by Promet Source and Webizat. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 4
  • 5. THE PROJECT MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 5 https://github.com/promet/drupalcampcebu2015/
  • 6. DRUPAL-8-BETA-12 Project started with Beta-12. Beta-12 was: - An Early version. - Unstable. A version for development, not production. - Over 20 known critical issues with this beta release. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 6
  • 7. WHY START WITH DRUPAL 8 BETA? MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 7
  • 8. WHY WE USED DRUPAL 8 BETA New features and improvements (more than 200 in total). Project is not critical. Project can be done using core alone (no contributed modules). No data to migrate. We would go live on RC1, not beta. Great opportunity to learn and share. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 8
  • 9. DRUPAL-8-BETA-12 Project started in July, using Drupal 8 beta 12. Beta 12 & 13, our goal : Create configuration and share it with other developers. Thanks “vagrant” … MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 9
  • 10. OUR BETA TO RC JOURNEY MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 10 BETA-14 THEMING BETA-12 & 13 SETUP Configuration management.
  • 11. OUR BETA TO RC JOURNEY MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 11 BETA-14 THEMING BETA-15 & 16 TROUBLES No beta to beta updates from Beta- 14. BETA-12 & 13 SETUP Configuration management.
  • 12. OUR BETA TO RC JOURNEY MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 12 BETA-14 THEMING BETA-15 & 16 TROUBLES No beta to beta updates from Beta- 14. RC1 LIVE We go Live and Open Source RC2 & RC3 PROJECT IMPROVEMENTS Life is good ! BETA-12 & 13 SETUP Configuration management.
  • 13. SITE BUILDING MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 13
  • 14. CONTRIB TO D8 CORE Breakpoint CacheTags Content Translation Email Entity File Entity Link Phone Picture Quick Edit Transliteration UUID Views / CTools RESTWS (REST) CKEditor Date Display Suite (view modes) Internationalization Migrate MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 14
  • 15. CONTRIB TO D8 CORE CKEditor Finally a great wysiwyg integration out of the box. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 15 Adding the image button Automatically adds the plugin settings
  • 16. D7 CORE TO CONTRIB Blog Dashboard PHP Filter Poll XML-RPC RIP : Overlay MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 16
  • 17. D7 CORE TO CONTRIB Overlay in Drupal 7 - Removed in Drupal 8 MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 17
  • 18. NEW FIELDS TYPE IN CORE MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 18
  • 19. Telephone MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 19 Uses HTML5 input form field for telephone field. Mobile-friendly
  • 20. SAVING PAGES IN D8 MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 20
  • 21. PLACING BLOCKS MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 21 Assign blocks to a region using “place block”. Nothing in disabled blocks by default.
  • 22. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 22 PLACING BLOCKS Finally, out of the box you can place the same block on two regions !
  • 23. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 23 PLACING BLOCKS Visibility settings when a block is being placed on a region. With drupal 7 core you would set that setting once, directly on the block.
  • 24. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 24 Adding fields directly on the custom block, like a content type. CUSTOM BLOCK LIBRARY
  • 25. THEMING MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 25
  • 26. 26 MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 CREATING A SUB-THEME Place themes in the ‘themes/custom’ folder.
  • 27. BOOSTRAP THEME IN DRUPAL 8 Started our theme on D8 beta versions, no boostrap theme for D8 yet. The community pledged to release Bootstrap theme for Drupal-8.0.0 drupal.org/project/bootstrap MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 27
  • 28. OUR THEME SOLUTION Classy + MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 28
  • 29. LIBRARIES.YML EXAMPLE cuddly-slider: version: 1.x css: theme: css/cuddly-slider.css: {} js: js/cuddly-slider.js: {} MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 29
  • 30. LIBRARIES.YML - CSS EXAMPLE + css + base - normalize.css + layout - layout.css - layout--medium.css - layout--wide.css + components - button.css + theme - theme--light.css - theme--dark.css MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 30
  • 31. LIBRARIES.YML - JS MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 31
  • 32. QUESTION, BUG OR NOT? Started theming from Beta 14. Our theme is a sub theme of Classy. In beta 16, we implemented the libraries, but not javascript is coming up. We checked several times, but it doesn’t work. What is going on ? Bug or not ? MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 32
  • 33. INJECT YOUR CSS AND JAVASCRIPT Not a bug. Learn the hard way, if you want JS, in <head> inside html.html.twig you will need : <js-placeholder token="{{ placeholder_token|raw }}"> Classy theme does not use javascript, no JS injection in the template in beta-14. It came later on in classy. We found that line when Classy got updated, on beta-16. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 33
  • 34. LIBRARIES.YML MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 34
  • 35. LIBRARIES.YML Note the dependencies with Drupal core javascript. - core/DrupalSettings It lets us use the settings variables in Drupal behaviors. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 35
  • 36. JAVASCRIPT IN DRUPAL 8 The “ok it works” method $(document).ready(function () { // Do some fancy stuff. }); MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 36
  • 37. JAVASCRIPT IN DRUPAL 8 The right way. Drupal.behaviors(drupalSettings) .once() MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 37
  • 38. JAVASCRIPT IN DRUPAL 8 Drupal.behaviors.myBehavior = { attach: function (context, settings) { $('input.myCustomBehavior',context) .once('myCustomBehavior').addClass('processed'); } }; MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 38
  • 39. TWIG DEBUGGING, ACTIVATE sites/default/services.yml parameters: twig.config: debug: true MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 39
  • 40. TWIG DEBUGGING, RESULT IN HTML <!-- THEME DEBUG --> <!-- THEME HOOK: 'node' --> <!-- FILE NAME SUGGESTIONS: * node--view--frontpage--page-1.html.twig * node--view--frontpage.html.twig * node--1--teaser.html.twig * node--1.html.twig * node--article--teaser.html.twig * node--article.html.twig * node--teaser.html.twig x node.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content/node.html.twig' --> <article>....</article> <!-- END OUTPUT from 'core/themes/classy/templates/content/node.html.twig' --> MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 40
  • 41. TWIG DEBUGGING, DEVEL KINT MODULE Debug all the variables: {{ kint() }} Debug an object or array: {{ kint(page.content) }} For special characters (like #), use this: {{ kint(page[“#content_two”]) }} MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 41
  • 42. TWIG DEBUGGING MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 42
  • 43. CONFIGURATION MANAGER MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 43
  • 44. FEATURES MODULE IN DRUPAL 7 Features is a contributed module to group components from modules together in a single feature module. What we are supposed to do with features: Group together functionalities to answer a specific use case. What we really do with the features module in Drupal 7: We build a complex deployment system to synchronize environments. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 44
  • 45. DRUPAL 8 CONFIGURATION MANAGER The configuration manager module stores all the configuration of your project as yaml files. Made to synchronize environments and helps to manage complexity. Those yaml files are : - Small: Reduces conflicts. - Organized: They follow a naming standards and structure. - Separate: Sites own a configuration, not modules. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 45
  • 46. DRUSH COMMANDS FOR CONFIGURATION Export your configuration: $ drush cex Import your configuration: $ drush cim Those commands import / export all your configuration. Use GIT to select which yaml configuration you really want to update and share. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 46
  • 47. DRUPAL 8 CONFIGURATION MANAGER The configuration manager is not made to share configuration across several projects. Your site owns a configuration. To use the configuration in different environments of the same project, they will need the same Universally Unique IDentifier (UUID). Drush command to know your project’s UUID: $ drush cget system.site To edit the UUID: $ drush cedit system.site MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 47
  • 48. BETA ISSUES During the beta development, the variable name to synchronize the configuration changed, from “staging” to “sync”, causing us some issues. You will now set your configuration folder like : $config_directories['sync'] = './../config/sync'; MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 48
  • 49. QUESTION, BUG OR NOT? We deleted a field. The system deleted a view at the same time. We checked the view using the UI, that specific field was not used in the view. What happened ? Bug or not ? MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 49
  • 50. NOT A BUG, IT’S DEPENDENCY The fields were in the master display of the view, but not in any current display. Overridden by all displays in the view, we could not see the field in Views UI. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 50 Dependency. Deleting a field, used in a view, would delete that view.
  • 51. CUSTOM MODULE MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 51
  • 52. MODULES ARCHITECTURE Description of your module is now a yaml file. We still used a “.module” file. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 52
  • 53. CUSTOM MODULE WITH FORM API Form API is pretty similar as in Drupal 7. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 53
  • 54. WHAT HAPPENED TO $USER? Drupal 7: GLOBAL $user; Drupal 8: $user = Drupal::currentUser(); Access the roles like: $user->getRoles() MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 54
  • 55. WHY DRUPAL 8 IS FAST? Out of the box, Drupal 8 is optimized for production. To develop, you will have some minor changes to do. Here is the result of our Drupal 8 project, with a basic configuration : Results from webpagetest.org for 2015.drupalcebu.org few days before the event. MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 55
  • 56. MORE ABOUT D8 CORE AT DRUPALCAMP CEBU 2:45 PM 5 PM MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 56 All sessions of Drupalcamp Cebu 2015 on 2015.drupalcebu.org/sessions
  • 57. QUESTIONS ? MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 57
  • 58. THANK YOU ! Leolando Tan, @leolandotan https://www.drupal.org/u/leolando.tan Mary Chris Casis, @casismary https://www.drupal.org/u/casism Luc Bezier, @Luukyb https://www.drupal.org/u/luukyb MADE WITH DRUPAL 8 Leolando Tan, Luc Bezier, Mary Chris Casis. Drupalcamp Cebu 2015 58