SlideShare una empresa de Scribd logo
1 de 85
Descargar para leer sin conexión
Drupal
Ruben Teijeiro - @rteijeiro
Who am I?
©Tieto Corporation
Ruben Teijeiro - Drupal Hero at Tieto
1st Computer: MSX SVI-728
1st Language: Logo (at age 8)
From Spain, where I worked on
relevant Drupal projects like
Unicef and Telefonica.
Moved to Stockholm two years
ago to work on Ericsson Intranet
project built with Drupal.
Joined Tieto in November 2014.
Ruben Teijeiro - @rteijeiro
CEM Solutions
Senior Software Architect
What is Drupal?
©Tieto Corporation
What is Drupal?
Ruben Teijeiro - @rteijeiro
80% CMS*
* Content Management System
©Tieto Corporation
What is Drupal?
Ruben Teijeiro - @rteijeiro
20% CMF*
80% CMS
* Content Management Framework
©Tieto Corporation
What is Drupal?
Ruben Teijeiro - @rteijeiro
100% Open Source
Drupal in Numbers
©Tieto Corporation
Weekly Project Usage
Ruben Teijeiro - @rteijeiro
https://www.drupal.org/project/usage/drupal
©Tieto Corporation
Project Usage
Ruben Teijeiro - @rteijeiro
Drupal 8 Beta Release
at
DrupalCon Amsterdam
https://www.drupal.org/project/usage/drupal
©Tieto Corporation Ruben Teijeiro - @rteijeiro
http://w3techs.com/technologies/history_overview/content_management/all/y
CMS Usage Trends
©Tieto Corporation Ruben Teijeiro - @rteijeiro
http://w3techs.com/technologies/history_overview/content_management/ms/y
CMS Market Share
©Tieto Corporation
Market Position
Ruben Teijeiro - @rteijeiro
http://w3techs.com/technologies/market/content_management
Fewer sites but
highest traffic
©Tieto Corporation
Server Side Programming Languages
Ruben Teijeiro - @rteijeiro
http://w3techs.com/technologies/history_overview/programming_language/ms/y
©Tieto Corporation
Community
Ruben Teijeiro - @rteijeiro
https://www.drupal.org/home
Who uses Drupal?
Government
©Tieto Corporation
Government
Ruben Teijeiro - @rteijeiro
Media
©Tieto Corporation
Media
Ruben Teijeiro - @rteijeiro
Retail
©Tieto Corporation
Retail
Ruben Teijeiro - @rteijeiro
Finance
©Tieto Corporation
Finance
Ruben Teijeiro - @rteijeiro
Industry
©Tieto Corporation
Industry
Ruben Teijeiro - @rteijeiro
Education
©Tieto Corporation
Education
Ruben Teijeiro - @rteijeiro
Entertainment
©Tieto Corporation
Entertainment
Ruben Teijeiro - @rteijeiro
Why Drupal is
Good for You?
Cutting-edge Technologies
©Tieto Corporation
Symfony 2
Ruben Teijeiro - @rteijeiro
● Set of decoupled and reusable
PHP components.
● Drupal 8 has included the
following components in core:
○ HttpFoundation
○ HttpKernel
○ Routing
○ EventDispatcher
○ DependencyInjection
○ ClassLoader
○ Serializer
○ Validator
○ Yaml
http://symfony.com
©Tieto Corporation
Composer
Ruben Teijeiro - @rteijeiro
https://getcomposer.org
● Tool for dependency
management in PHP.
● Inspired by node’s npm and
ruby’s bundler.
● Allows you to declare the
libraries your project is
dependant on and install them.
● Drupal 8 can be installed with
all of its dependencies using
Composer:
http://drupal-composer.org
©Tieto Corporation
Guzzle
Ruben Teijeiro - @rteijeiro
http://guzzlephp.org
● PHP HTTP Client that abstracts
away the HTTP transport layer.
● Supports different HTTP
methods like cURL, sockets,
PHP’s stream wrapper...
● Manages persistent connections
and simplifies POST requests
with fields and files.
● Can send both synchronous and
asynchronous requests using
the same interface.
● Useful for integration with
RESTful APIs.
©Tieto Corporation
PHPUnit
Ruben Teijeiro - @rteijeiro
https://phpunit.de
● Programmer-oriented unit
testing framework for PHP.
● Drupal 8 core development is
supported by multiple unit
tests that verifies the
consistency of the codebase.
● Easy integration with IDEs like
NetBeans, Eclipse and IntelliJ
IDEA.
● Supported by Continuous
Integration servers like Jenkins,
Hudson and Sonar.
©Tieto Corporation
Twig
Ruben Teijeiro - @rteijeiro
http://twig.sensiolabs.org
● Modern template engine for
PHP, written by the creator of
the Symfony framework.
● Compiles templates into plain,
optimized PHP code, making it
fast and secure.
● Uses a simple, template-oriented
syntax, familiar to front-end
developers.
● Powered by a flexible lexer and
parser that allows definition of
custom tags and filters and
creation of a custom DSL.
©Tieto Corporation
jQuery
Ruben Teijeiro - @rteijeiro
https://jquery.com
● Fast, lightweight and feature-
rich JavaScript library for easy
HTML document traversal and
manipulation.
● Easy-to-use API for animations,
event handling and AJAX that
function across a multitude of
browsers.
● Drupal 8 core includes jQuery
2, jQuery UI and other libraries
which are built on top of
jQuery.
©Tieto Corporation
Backbone.js
Ruben Teijeiro - @rteijeiro
http://backbonejs.org
● Gives structure to web applications by providing models
with key-value binding and custom events, collections
with a rich API of enumerable functions, views with
declarative event handling, and connects it all to your
existing API over a RESTful JSON interface.
● Several components in Drupal 8, such as the
administration toolbar, have been developed using
Backbone.js.
©Tieto Corporation
Underscore.js
Ruben Teijeiro - @rteijeiro
http://underscorejs.org
● JavaScript library that provides a whole mess of useful
functional programming helpers without extending any
built-in objects.
● Ships with over 100 functions like the functional helpers:
map, filter, invoke — as well as more specialized goodies
like function binding, javascript templating, creating
quick indexes, deep equality testing, and so on.
©Tieto Corporation
Modernizr
Ruben Teijeiro - @rteijeiro
http://modernizr.com
● JavaScript library that detects HTML5 and CSS3 features
in the user’s browser.
● Makes it easy to write conditional JavaScript and CSS to
handle each situation, depending on whether a browser
supports a feature or not. It’s perfect for doing
progressive enhancement easily.
©Tieto Corporation
CKEditor
Ruben Teijeiro - @rteijeiro
http://ckeditor.com
● CKEditor is a ready-for-use HTML text editor designed to
simplify web content creation. It's a WYSIWYG editor
that brings common word processor features directly to
your web pages.
● Drupal 8 ships with CKEditor as the default WYSIWYG
editor.
Performance
©Tieto Corporation
Performance
● Drupal 8 has an internal caching system that makes it
possible to generate and store pages with different
elements one time so they can be served faster in future
requests.
● SmartCache optimizes how the elements are cached and
how that cache is invalidated when an element has been
changed, making Drupal 8 twice as fast.
● Drupal 8 rendering strategy follows the model behind
Facebook BigPipe, which allows delivery of pages
asynchronously, parallelizing browser rendering and
server processing.
● No Javascript is loaded by default for anonymous users
and CSS/JS assets can be easily aggregated and minified.
Ruben Teijeiro - @rteijeiro
Scalability
©Tieto Corporation
Scalability
● Drupal 8 is the first CMS to run on a NoSQL database such
as MongoDB. It also allows for easy integration with other
storage systems.
● Multisite features in Drupal make it possible to manage
many sites across your organization using the same core
with an easy site creation and deployment process.
● Drupal 8 integrates with most common high-availability
and scalability technologies such as reverse proxies, load
balancers, database replication, distributed file
systems...
● It also allows for integration with Enterprise Search
systems such as Elastic Search and Apache Solr.
Ruben Teijeiro - @rteijeiro
Security
©Tieto Corporation
Security
● Drupal has his own security team, responsible for
detecting and fixing vulnerabilities.
● Drupal 8 includes several third-party components which
are maintained by external communities with their own
security teams.
● The new codebase in Drupal 8 follows the industry
standard approach and is covered by unit tests, making it
more reliable and secure.
● Twig, the template system in Drupal 8, sanitizes the data
used in the templates and doesn’t allow the use of PHP
code and database queries, reducing vulnerabilities due
to SQL injection or bad programming.
Ruben Teijeiro - @rteijeiro
Mobile Friendly
©Tieto Corporation
Mobile Friendly
● Drupal 8 default themes are fully-responsive in both user
and administration areas.
● The new administration toolbar has been redesigned to
fit perfectly in any screen size.
● Uploaded images, including images uploaded using the
WYSIWYG editor, are automatically adapted to any
device.
● All the front-end elements such as forms and tables
follow the best practices for responsive design to offer
the best mobile-enabled user experience.
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Responsive Default Theme
Ruben Teijeiro - @rteijeiro
● Desktop
● Tablet
● Smartphone
©Tieto Corporation
Responsive Admin Theme
Ruben Teijeiro - @rteijeiro
● Desktop
● Tablet
● Smartphone
©Tieto Corporation
Responsive Administration Toolbar
Ruben Teijeiro - @rteijeiro
● Desktop
● Tablet
● Smartphone
Easy Content Authoring
©Tieto Corporation
Content Authoring Made Easy
● Drupal 8 includes CKEditor as the default WYSIWYG
editor that is fully customizable to fulfill all the needs.
● The improved content authoring experience includes in-
place content editing features.
● The new editing interface uses a two-column layout to
separate the article content from the configuration
settings.
● Editors can easily create content revisions to maintain
different versions of the same article that can be
restored when needed.
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Customizable WYSIWYG Editor
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
In-place Content Editing
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Two-columns Layout Edit Interface
Ruben Teijeiro - @rteijeiro
Flexible Content Architecture
©Tieto Corporation
Flexible Content Architecture
● Drupal 8 allows creation of custom content types using
different field types to store text, dates, numbers, files,
etc. One field can be displayed in many different ways
using custom field formatters.
● Content can be categorised using Taxonomy
vocabularies, that support fields and allows term
hierarchy.
● A new block system, that also support fields, allows to
present content positioned in different regions of the
layout.
● Custom content listings are provided by Drupal Views
module, that is a complete GUI for database queries,
and allows custom filtering, sorting and relationships.
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Custom Content Types and Fields
Ruben Teijeiro - @rteijeiro
● Content Type Edit
● Content Create
● Content View
©Tieto Corporation
Content categorisation with Taxonomy Terms
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Block Layout Regions
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Block Location
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Views as a simple SQL GUI
Ruben Teijeiro - @rteijeiro
● SELECT title, image, body
● WHERE status=1 AND type=’Article’
● ORDER BY authored DESC
©Tieto Corporation
Views is more than a simple SQL GUI
Ruben Teijeiro - @rteijeiro
● Define a custom Path, Menu Item and Access Permissions
● Customize Pager style and items Pagination
● Contextual Filters, Relationships and Exposed Filters in a Form
Content Listings in Blocks
©Tieto Corporation
Content Listings and Blocks
Ruben Teijeiro - @rteijeiro
Multilingual
©Tieto Corporation
Multilingual
● Drupal has a community of translators that create and
maintain module translations to different languages.
● Drupal 8 provides out-of-the-box the necessary tools for
content and interfaz translation and different methods
for automatic language detection and selection.
● Content, menus, blocks and other elements can be
translated to any installed language.
● Different language translations can be easily installed,
modified and exported when needed.
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Translations in Numbers
Ruben Teijeiro - @rteijeiro
https://localize.drupal.org
©Tieto Corporation
Interface Translation
Ruben Teijeiro - @rteijeiro
● Enable Modules
● Add New Languages
● Select Default Language
©Tieto Corporation
Language Detection
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Content Translation
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Language Selection
Ruben Teijeiro - @rteijeiro
● Spanish
● Finnish
● Hindi
Unlimited Enterprise Solutions
©Tieto Corporation
Unlimited Enterprise Solutions
● Drupal 8 includes the technology necessary to provide a
RESTful API that allows for access to content, users and
other elements in an standard HAML/JSON format. It also
supports different authentication methods.
● The Development/Deployment process in Drupal 8 is
easier thanks to the new Configuration Management that
allows to export every configuration change in files that
can be easily deployed using a CVS.
● Drupal 8 includes a migration tool that allows not only to
migrate from Drupal 6 and 7 sites but any other
platform.
● An Unit Testing framework is included in Drupal 8 and
provides testing coverage to Core codebase.
Ruben Teijeiro - @rteijeiro
Additional Modules
©Tieto Corporation
Additional Modules included in Core
● Actions: Perform tasks on specific events triggered
within the system.
● Activity Tracker: Enables tracking of recent content for
users.
● Aggregator: Aggregates syndicated content (RSS, RDF,
and Atom feeds) from external sources.
● Ban: Enables banning of IP addresses.
● Book: Allows users to create and organize related
content in an outline.
● Forum: Provides discussion forums.
● Statistics: Logs content statistics for your site.
● Syslog: Logs and records system events to syslog.
● Tour: Provides guided tours.
Ruben Teijeiro - @rteijeiro
Open Source Community
Tieto also
contributes to
Drupal Core!!
©Tieto Corporation
Community Overview
● Drupal is run by
thousands of volunteers
around the world.
● Thanks to their
contributions Drupal is
becoming easier to use
and is faster adopting
new technologies that
makes the project grow.
● The Community also
helps people to get
started and contribute.
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Tieto Contributors
● Tieto Drupal Team has five contributors to Drupal core
and expects to have more due to the weekly internal
training sessions.
● During these sessions the team members learn different
techniques and methodologies to contribute to an Open
Source project.
● The team stays updated on the latest technologies, good
programming practices and coding standards.
Ruben Teijeiro - @rteijeiro
©Tieto Corporation
Tieto Contributors Hall of Fame
Ruben Teijeiro - @rteijeiro
Ruben Teijeiro Antti Alamäki
Liisa Duerig-Laitinen Chintamani UmaraniSachin Wable
Questions?
Thanks!
Changing Perspectives

Más contenido relacionado

La actualidad más candente

DrupalCampSFL OpenPublic Overview
DrupalCampSFL OpenPublic OverviewDrupalCampSFL OpenPublic Overview
DrupalCampSFL OpenPublic Overview
John Studdard
 
Web Expresso: Drupal 8 - What's new
Web Expresso: Drupal 8 - What's newWeb Expresso: Drupal 8 - What's new
Web Expresso: Drupal 8 - What's new
Amazee Labs
 
The Beauty of Drupal 8 (Drupal Camp Manila 2014)
The Beauty of Drupal 8 (Drupal Camp Manila 2014)The Beauty of Drupal 8 (Drupal Camp Manila 2014)
The Beauty of Drupal 8 (Drupal Camp Manila 2014)
Rick. Bahague
 

La actualidad más candente (20)

What is headless drupal?
What is headless drupal?What is headless drupal?
What is headless drupal?
 
DrupalCampSFL OpenPublic Overview
DrupalCampSFL OpenPublic OverviewDrupalCampSFL OpenPublic Overview
DrupalCampSFL OpenPublic Overview
 
The Workflow Methodology to Train Your Team on Drupal 8
The Workflow Methodology to Train Your Team on Drupal 8The Workflow Methodology to Train Your Team on Drupal 8
The Workflow Methodology to Train Your Team on Drupal 8
 
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
 
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
 
Dimpact wim bumpy road of building reusable platform for municipalities from...
Dimpact wim  bumpy road of building reusable platform for municipalities from...Dimpact wim  bumpy road of building reusable platform for municipalities from...
Dimpact wim bumpy road of building reusable platform for municipalities from...
 
DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress
 
Global Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastGlobal Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 Forecast
 
[drupalday2017] - Behat per Drupal: test automatici e molto di più
[drupalday2017] - Behat per Drupal: test automatici e molto di più[drupalday2017] - Behat per Drupal: test automatici e molto di più
[drupalday2017] - Behat per Drupal: test automatici e molto di più
 
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
 
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
 
Web Expresso: Drupal 8 - What's new
Web Expresso: Drupal 8 - What's newWeb Expresso: Drupal 8 - What's new
Web Expresso: Drupal 8 - What's new
 
Evolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal communityEvolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal community
 
Doing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via DistributionsDoing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via Distributions
 
The Beauty of Drupal 8 (Drupal Camp Manila 2014)
The Beauty of Drupal 8 (Drupal Camp Manila 2014)The Beauty of Drupal 8 (Drupal Camp Manila 2014)
The Beauty of Drupal 8 (Drupal Camp Manila 2014)
 
HTML5 Drupal Working Group
HTML5 Drupal Working GroupHTML5 Drupal Working Group
HTML5 Drupal Working Group
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
 
AUFaculty: A Case Study for Responsive GWT Application Development
AUFaculty: A Case Study for Responsive GWT Application DevelopmentAUFaculty: A Case Study for Responsive GWT Application Development
AUFaculty: A Case Study for Responsive GWT Application Development
 
UMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, ChicagoUMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, Chicago
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 Sites
 

Similar a Drupal

From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course OverviewFrom Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
Italo Mairo
 

Similar a Drupal (20)

Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and Pantheon
 
The Top 10 Features to Watch Out for in Drupal 8
The Top 10 Features to Watch Out for in Drupal 8The Top 10 Features to Watch Out for in Drupal 8
The Top 10 Features to Watch Out for in Drupal 8
 
Web components
Web componentsWeb components
Web components
 
Weave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any KubernetesWeave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any Kubernetes
 
X tuple open erp system
X tuple open erp system X tuple open erp system
X tuple open erp system
 
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course OverviewFrom Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
 
DruStack- a mobile-friendly web content management system (cms
DruStack- a mobile-friendly web content management system (cmsDruStack- a mobile-friendly web content management system (cms
DruStack- a mobile-friendly web content management system (cms
 
drustack a mobile-friendly web content management system (cms)
drustack   a mobile-friendly web content management system (cms)drustack   a mobile-friendly web content management system (cms)
drustack a mobile-friendly web content management system (cms)
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
 
Resume
ResumeResume
Resume
 
Top 10 Python Frameworks for App Development
Top 10 Python Frameworks for App DevelopmentTop 10 Python Frameworks for App Development
Top 10 Python Frameworks for App Development
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020
 
Drupal 8 introduction
Drupal 8 introductionDrupal 8 introduction
Drupal 8 introduction
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
12 must know drupal 8 features
12 must know drupal 8 features12 must know drupal 8 features
12 must know drupal 8 features
 
How is Drupal Ensuring the Web Accessibility Standards?
How is Drupal Ensuring the Web Accessibility Standards?How is Drupal Ensuring the Web Accessibility Standards?
How is Drupal Ensuring the Web Accessibility Standards?
 
Weave GitOps Core Overview (Free GitOps Workshop)
Weave GitOps Core Overview (Free GitOps Workshop)Weave GitOps Core Overview (Free GitOps Workshop)
Weave GitOps Core Overview (Free GitOps Workshop)
 
mini-project.pptx
mini-project.pptxmini-project.pptx
mini-project.pptx
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 

Más de Ruben Teijeiro

Más de Ruben Teijeiro (9)

Startup Wars
Startup WarsStartup Wars
Startup Wars
 
Drupal Heroes
Drupal HeroesDrupal Heroes
Drupal Heroes
 
Drupal8 Front-end Automated Testing
Drupal8 Front-end Automated TestingDrupal8 Front-end Automated Testing
Drupal8 Front-end Automated Testing
 
Front-end Automated Testing
Front-end Automated TestingFront-end Automated Testing
Front-end Automated Testing
 
Drupal Mobile
Drupal MobileDrupal Mobile
Drupal Mobile
 
Twittalicious - Organiza tus Redes Sociales
Twittalicious - Organiza tus Redes SocialesTwittalicious - Organiza tus Redes Sociales
Twittalicious - Organiza tus Redes Sociales
 
Twittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con DrupalTwittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con Drupal
 
Metodologia de Trabajo en Proyectos con Drupal
Metodologia de Trabajo en Proyectos con DrupalMetodologia de Trabajo en Proyectos con Drupal
Metodologia de Trabajo en Proyectos con Drupal
 
Drush - More Beer, Less Effort
Drush - More Beer, Less EffortDrush - More Beer, Less Effort
Drush - More Beer, Less Effort
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Drupal

  • 3. ©Tieto Corporation Ruben Teijeiro - Drupal Hero at Tieto 1st Computer: MSX SVI-728 1st Language: Logo (at age 8) From Spain, where I worked on relevant Drupal projects like Unicef and Telefonica. Moved to Stockholm two years ago to work on Ericsson Intranet project built with Drupal. Joined Tieto in November 2014. Ruben Teijeiro - @rteijeiro CEM Solutions Senior Software Architect
  • 5. ©Tieto Corporation What is Drupal? Ruben Teijeiro - @rteijeiro 80% CMS* * Content Management System
  • 6. ©Tieto Corporation What is Drupal? Ruben Teijeiro - @rteijeiro 20% CMF* 80% CMS * Content Management Framework
  • 7. ©Tieto Corporation What is Drupal? Ruben Teijeiro - @rteijeiro 100% Open Source
  • 9. ©Tieto Corporation Weekly Project Usage Ruben Teijeiro - @rteijeiro https://www.drupal.org/project/usage/drupal
  • 10. ©Tieto Corporation Project Usage Ruben Teijeiro - @rteijeiro Drupal 8 Beta Release at DrupalCon Amsterdam https://www.drupal.org/project/usage/drupal
  • 11. ©Tieto Corporation Ruben Teijeiro - @rteijeiro http://w3techs.com/technologies/history_overview/content_management/all/y CMS Usage Trends
  • 12. ©Tieto Corporation Ruben Teijeiro - @rteijeiro http://w3techs.com/technologies/history_overview/content_management/ms/y CMS Market Share
  • 13. ©Tieto Corporation Market Position Ruben Teijeiro - @rteijeiro http://w3techs.com/technologies/market/content_management Fewer sites but highest traffic
  • 14. ©Tieto Corporation Server Side Programming Languages Ruben Teijeiro - @rteijeiro http://w3techs.com/technologies/history_overview/programming_language/ms/y
  • 15. ©Tieto Corporation Community Ruben Teijeiro - @rteijeiro https://www.drupal.org/home
  • 19. Media
  • 31. Why Drupal is Good for You?
  • 33. ©Tieto Corporation Symfony 2 Ruben Teijeiro - @rteijeiro ● Set of decoupled and reusable PHP components. ● Drupal 8 has included the following components in core: ○ HttpFoundation ○ HttpKernel ○ Routing ○ EventDispatcher ○ DependencyInjection ○ ClassLoader ○ Serializer ○ Validator ○ Yaml http://symfony.com
  • 34. ©Tieto Corporation Composer Ruben Teijeiro - @rteijeiro https://getcomposer.org ● Tool for dependency management in PHP. ● Inspired by node’s npm and ruby’s bundler. ● Allows you to declare the libraries your project is dependant on and install them. ● Drupal 8 can be installed with all of its dependencies using Composer: http://drupal-composer.org
  • 35. ©Tieto Corporation Guzzle Ruben Teijeiro - @rteijeiro http://guzzlephp.org ● PHP HTTP Client that abstracts away the HTTP transport layer. ● Supports different HTTP methods like cURL, sockets, PHP’s stream wrapper... ● Manages persistent connections and simplifies POST requests with fields and files. ● Can send both synchronous and asynchronous requests using the same interface. ● Useful for integration with RESTful APIs.
  • 36. ©Tieto Corporation PHPUnit Ruben Teijeiro - @rteijeiro https://phpunit.de ● Programmer-oriented unit testing framework for PHP. ● Drupal 8 core development is supported by multiple unit tests that verifies the consistency of the codebase. ● Easy integration with IDEs like NetBeans, Eclipse and IntelliJ IDEA. ● Supported by Continuous Integration servers like Jenkins, Hudson and Sonar.
  • 37. ©Tieto Corporation Twig Ruben Teijeiro - @rteijeiro http://twig.sensiolabs.org ● Modern template engine for PHP, written by the creator of the Symfony framework. ● Compiles templates into plain, optimized PHP code, making it fast and secure. ● Uses a simple, template-oriented syntax, familiar to front-end developers. ● Powered by a flexible lexer and parser that allows definition of custom tags and filters and creation of a custom DSL.
  • 38. ©Tieto Corporation jQuery Ruben Teijeiro - @rteijeiro https://jquery.com ● Fast, lightweight and feature- rich JavaScript library for easy HTML document traversal and manipulation. ● Easy-to-use API for animations, event handling and AJAX that function across a multitude of browsers. ● Drupal 8 core includes jQuery 2, jQuery UI and other libraries which are built on top of jQuery.
  • 39. ©Tieto Corporation Backbone.js Ruben Teijeiro - @rteijeiro http://backbonejs.org ● Gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface. ● Several components in Drupal 8, such as the administration toolbar, have been developed using Backbone.js.
  • 40. ©Tieto Corporation Underscore.js Ruben Teijeiro - @rteijeiro http://underscorejs.org ● JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects. ● Ships with over 100 functions like the functional helpers: map, filter, invoke — as well as more specialized goodies like function binding, javascript templating, creating quick indexes, deep equality testing, and so on.
  • 41. ©Tieto Corporation Modernizr Ruben Teijeiro - @rteijeiro http://modernizr.com ● JavaScript library that detects HTML5 and CSS3 features in the user’s browser. ● Makes it easy to write conditional JavaScript and CSS to handle each situation, depending on whether a browser supports a feature or not. It’s perfect for doing progressive enhancement easily.
  • 42. ©Tieto Corporation CKEditor Ruben Teijeiro - @rteijeiro http://ckeditor.com ● CKEditor is a ready-for-use HTML text editor designed to simplify web content creation. It's a WYSIWYG editor that brings common word processor features directly to your web pages. ● Drupal 8 ships with CKEditor as the default WYSIWYG editor.
  • 44. ©Tieto Corporation Performance ● Drupal 8 has an internal caching system that makes it possible to generate and store pages with different elements one time so they can be served faster in future requests. ● SmartCache optimizes how the elements are cached and how that cache is invalidated when an element has been changed, making Drupal 8 twice as fast. ● Drupal 8 rendering strategy follows the model behind Facebook BigPipe, which allows delivery of pages asynchronously, parallelizing browser rendering and server processing. ● No Javascript is loaded by default for anonymous users and CSS/JS assets can be easily aggregated and minified. Ruben Teijeiro - @rteijeiro
  • 46. ©Tieto Corporation Scalability ● Drupal 8 is the first CMS to run on a NoSQL database such as MongoDB. It also allows for easy integration with other storage systems. ● Multisite features in Drupal make it possible to manage many sites across your organization using the same core with an easy site creation and deployment process. ● Drupal 8 integrates with most common high-availability and scalability technologies such as reverse proxies, load balancers, database replication, distributed file systems... ● It also allows for integration with Enterprise Search systems such as Elastic Search and Apache Solr. Ruben Teijeiro - @rteijeiro
  • 48. ©Tieto Corporation Security ● Drupal has his own security team, responsible for detecting and fixing vulnerabilities. ● Drupal 8 includes several third-party components which are maintained by external communities with their own security teams. ● The new codebase in Drupal 8 follows the industry standard approach and is covered by unit tests, making it more reliable and secure. ● Twig, the template system in Drupal 8, sanitizes the data used in the templates and doesn’t allow the use of PHP code and database queries, reducing vulnerabilities due to SQL injection or bad programming. Ruben Teijeiro - @rteijeiro
  • 50. ©Tieto Corporation Mobile Friendly ● Drupal 8 default themes are fully-responsive in both user and administration areas. ● The new administration toolbar has been redesigned to fit perfectly in any screen size. ● Uploaded images, including images uploaded using the WYSIWYG editor, are automatically adapted to any device. ● All the front-end elements such as forms and tables follow the best practices for responsive design to offer the best mobile-enabled user experience. Ruben Teijeiro - @rteijeiro
  • 51. ©Tieto Corporation Responsive Default Theme Ruben Teijeiro - @rteijeiro ● Desktop ● Tablet ● Smartphone
  • 52. ©Tieto Corporation Responsive Admin Theme Ruben Teijeiro - @rteijeiro ● Desktop ● Tablet ● Smartphone
  • 53. ©Tieto Corporation Responsive Administration Toolbar Ruben Teijeiro - @rteijeiro ● Desktop ● Tablet ● Smartphone
  • 55. ©Tieto Corporation Content Authoring Made Easy ● Drupal 8 includes CKEditor as the default WYSIWYG editor that is fully customizable to fulfill all the needs. ● The improved content authoring experience includes in- place content editing features. ● The new editing interface uses a two-column layout to separate the article content from the configuration settings. ● Editors can easily create content revisions to maintain different versions of the same article that can be restored when needed. Ruben Teijeiro - @rteijeiro
  • 56. ©Tieto Corporation Customizable WYSIWYG Editor Ruben Teijeiro - @rteijeiro
  • 57. ©Tieto Corporation In-place Content Editing Ruben Teijeiro - @rteijeiro
  • 58. ©Tieto Corporation Two-columns Layout Edit Interface Ruben Teijeiro - @rteijeiro
  • 60. ©Tieto Corporation Flexible Content Architecture ● Drupal 8 allows creation of custom content types using different field types to store text, dates, numbers, files, etc. One field can be displayed in many different ways using custom field formatters. ● Content can be categorised using Taxonomy vocabularies, that support fields and allows term hierarchy. ● A new block system, that also support fields, allows to present content positioned in different regions of the layout. ● Custom content listings are provided by Drupal Views module, that is a complete GUI for database queries, and allows custom filtering, sorting and relationships. Ruben Teijeiro - @rteijeiro
  • 61. ©Tieto Corporation Custom Content Types and Fields Ruben Teijeiro - @rteijeiro ● Content Type Edit ● Content Create ● Content View
  • 62. ©Tieto Corporation Content categorisation with Taxonomy Terms Ruben Teijeiro - @rteijeiro
  • 63. ©Tieto Corporation Block Layout Regions Ruben Teijeiro - @rteijeiro
  • 65. ©Tieto Corporation Views as a simple SQL GUI Ruben Teijeiro - @rteijeiro ● SELECT title, image, body ● WHERE status=1 AND type=’Article’ ● ORDER BY authored DESC
  • 66. ©Tieto Corporation Views is more than a simple SQL GUI Ruben Teijeiro - @rteijeiro ● Define a custom Path, Menu Item and Access Permissions ● Customize Pager style and items Pagination ● Contextual Filters, Relationships and Exposed Filters in a Form Content Listings in Blocks
  • 67. ©Tieto Corporation Content Listings and Blocks Ruben Teijeiro - @rteijeiro
  • 69. ©Tieto Corporation Multilingual ● Drupal has a community of translators that create and maintain module translations to different languages. ● Drupal 8 provides out-of-the-box the necessary tools for content and interfaz translation and different methods for automatic language detection and selection. ● Content, menus, blocks and other elements can be translated to any installed language. ● Different language translations can be easily installed, modified and exported when needed. Ruben Teijeiro - @rteijeiro
  • 70. ©Tieto Corporation Translations in Numbers Ruben Teijeiro - @rteijeiro https://localize.drupal.org
  • 71. ©Tieto Corporation Interface Translation Ruben Teijeiro - @rteijeiro ● Enable Modules ● Add New Languages ● Select Default Language
  • 74. ©Tieto Corporation Language Selection Ruben Teijeiro - @rteijeiro ● Spanish ● Finnish ● Hindi
  • 76. ©Tieto Corporation Unlimited Enterprise Solutions ● Drupal 8 includes the technology necessary to provide a RESTful API that allows for access to content, users and other elements in an standard HAML/JSON format. It also supports different authentication methods. ● The Development/Deployment process in Drupal 8 is easier thanks to the new Configuration Management that allows to export every configuration change in files that can be easily deployed using a CVS. ● Drupal 8 includes a migration tool that allows not only to migrate from Drupal 6 and 7 sites but any other platform. ● An Unit Testing framework is included in Drupal 8 and provides testing coverage to Core codebase. Ruben Teijeiro - @rteijeiro
  • 78. ©Tieto Corporation Additional Modules included in Core ● Actions: Perform tasks on specific events triggered within the system. ● Activity Tracker: Enables tracking of recent content for users. ● Aggregator: Aggregates syndicated content (RSS, RDF, and Atom feeds) from external sources. ● Ban: Enables banning of IP addresses. ● Book: Allows users to create and organize related content in an outline. ● Forum: Provides discussion forums. ● Statistics: Logs content statistics for your site. ● Syslog: Logs and records system events to syslog. ● Tour: Provides guided tours. Ruben Teijeiro - @rteijeiro
  • 79. Open Source Community Tieto also contributes to Drupal Core!!
  • 80. ©Tieto Corporation Community Overview ● Drupal is run by thousands of volunteers around the world. ● Thanks to their contributions Drupal is becoming easier to use and is faster adopting new technologies that makes the project grow. ● The Community also helps people to get started and contribute. Ruben Teijeiro - @rteijeiro
  • 81. ©Tieto Corporation Tieto Contributors ● Tieto Drupal Team has five contributors to Drupal core and expects to have more due to the weekly internal training sessions. ● During these sessions the team members learn different techniques and methodologies to contribute to an Open Source project. ● The team stays updated on the latest technologies, good programming practices and coding standards. Ruben Teijeiro - @rteijeiro
  • 82. ©Tieto Corporation Tieto Contributors Hall of Fame Ruben Teijeiro - @rteijeiro Ruben Teijeiro Antti Alamäki Liisa Duerig-Laitinen Chintamani UmaraniSachin Wable