Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Drupal

1,066 views

Published on

This presentation explains what is Drupal, why and when it is good for you. It also presents different features included in Drupal 8.

Published in: Technology
  • Be the first to comment

Drupal

  1. 1. Drupal Ruben Teijeiro - @rteijeiro
  2. 2. Who am I?
  3. 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
  4. 4. What is Drupal?
  5. 5. ©Tieto Corporation What is Drupal? Ruben Teijeiro - @rteijeiro 80% CMS* * Content Management System
  6. 6. ©Tieto Corporation What is Drupal? Ruben Teijeiro - @rteijeiro 20% CMF* 80% CMS * Content Management Framework
  7. 7. ©Tieto Corporation What is Drupal? Ruben Teijeiro - @rteijeiro 100% Open Source
  8. 8. Drupal in Numbers
  9. 9. ©Tieto Corporation Weekly Project Usage Ruben Teijeiro - @rteijeiro https://www.drupal.org/project/usage/drupal
  10. 10. ©Tieto Corporation Project Usage Ruben Teijeiro - @rteijeiro Drupal 8 Beta Release at DrupalCon Amsterdam https://www.drupal.org/project/usage/drupal
  11. 11. ©Tieto Corporation Ruben Teijeiro - @rteijeiro http://w3techs.com/technologies/history_overview/content_management/all/y CMS Usage Trends
  12. 12. ©Tieto Corporation Ruben Teijeiro - @rteijeiro http://w3techs.com/technologies/history_overview/content_management/ms/y CMS Market Share
  13. 13. ©Tieto Corporation Market Position Ruben Teijeiro - @rteijeiro http://w3techs.com/technologies/market/content_management Fewer sites but highest traffic
  14. 14. ©Tieto Corporation Server Side Programming Languages Ruben Teijeiro - @rteijeiro http://w3techs.com/technologies/history_overview/programming_language/ms/y
  15. 15. ©Tieto Corporation Community Ruben Teijeiro - @rteijeiro https://www.drupal.org/home
  16. 16. Who uses Drupal?
  17. 17. Government
  18. 18. ©Tieto Corporation Government Ruben Teijeiro - @rteijeiro
  19. 19. Media
  20. 20. ©Tieto Corporation Media Ruben Teijeiro - @rteijeiro
  21. 21. Retail
  22. 22. ©Tieto Corporation Retail Ruben Teijeiro - @rteijeiro
  23. 23. Finance
  24. 24. ©Tieto Corporation Finance Ruben Teijeiro - @rteijeiro
  25. 25. Industry
  26. 26. ©Tieto Corporation Industry Ruben Teijeiro - @rteijeiro
  27. 27. Education
  28. 28. ©Tieto Corporation Education Ruben Teijeiro - @rteijeiro
  29. 29. Entertainment
  30. 30. ©Tieto Corporation Entertainment Ruben Teijeiro - @rteijeiro
  31. 31. Why Drupal is Good for You?
  32. 32. Cutting-edge Technologies
  33. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
  43. 43. Performance
  44. 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
  45. 45. Scalability
  46. 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
  47. 47. Security
  48. 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
  49. 49. Mobile Friendly
  50. 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. 51. ©Tieto Corporation Responsive Default Theme Ruben Teijeiro - @rteijeiro ● Desktop ● Tablet ● Smartphone
  52. 52. ©Tieto Corporation Responsive Admin Theme Ruben Teijeiro - @rteijeiro ● Desktop ● Tablet ● Smartphone
  53. 53. ©Tieto Corporation Responsive Administration Toolbar Ruben Teijeiro - @rteijeiro ● Desktop ● Tablet ● Smartphone
  54. 54. Easy Content Authoring
  55. 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. 56. ©Tieto Corporation Customizable WYSIWYG Editor Ruben Teijeiro - @rteijeiro
  57. 57. ©Tieto Corporation In-place Content Editing Ruben Teijeiro - @rteijeiro
  58. 58. ©Tieto Corporation Two-columns Layout Edit Interface Ruben Teijeiro - @rteijeiro
  59. 59. Flexible Content Architecture
  60. 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. 61. ©Tieto Corporation Custom Content Types and Fields Ruben Teijeiro - @rteijeiro ● Content Type Edit ● Content Create ● Content View
  62. 62. ©Tieto Corporation Content categorisation with Taxonomy Terms Ruben Teijeiro - @rteijeiro
  63. 63. ©Tieto Corporation Block Layout Regions Ruben Teijeiro - @rteijeiro
  64. 64. ©Tieto Corporation Block Location Ruben Teijeiro - @rteijeiro
  65. 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. 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. 67. ©Tieto Corporation Content Listings and Blocks Ruben Teijeiro - @rteijeiro
  68. 68. Multilingual
  69. 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. 70. ©Tieto Corporation Translations in Numbers Ruben Teijeiro - @rteijeiro https://localize.drupal.org
  71. 71. ©Tieto Corporation Interface Translation Ruben Teijeiro - @rteijeiro ● Enable Modules ● Add New Languages ● Select Default Language
  72. 72. ©Tieto Corporation Language Detection Ruben Teijeiro - @rteijeiro
  73. 73. ©Tieto Corporation Content Translation Ruben Teijeiro - @rteijeiro
  74. 74. ©Tieto Corporation Language Selection Ruben Teijeiro - @rteijeiro ● Spanish ● Finnish ● Hindi
  75. 75. Unlimited Enterprise Solutions
  76. 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
  77. 77. Additional Modules
  78. 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. 79. Open Source Community Tieto also contributes to Drupal Core!!
  80. 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. 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. 82. ©Tieto Corporation Tieto Contributors Hall of Fame Ruben Teijeiro - @rteijeiro Ruben Teijeiro Antti Alamäki Liisa Duerig-Laitinen Chintamani UmaraniSachin Wable
  83. 83. Questions?
  84. 84. Thanks!
  85. 85. Changing Perspectives

×