Intro to drupal
Transcript of Intro to drupal
![Page 1: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/1.jpg)
Welcome to Drupal !Hernâni Borges de Freitas
![Page 2: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/2.jpg)
drupal.org/8
About Drupal• Founded in 2001 by Dries Buytaert. Drupal 8
released in Nov 2015.
• One of the most popular ways of building for the web. And of the most popular PHP projects !
• Distributed under GPL License. One of the biggest open source communities in the World.
• Powers at least 2% of the web. Significant presence in high profile web sites.
![Page 3: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/3.jpg)
drupal.org/8
Examples of Drupalhttp://topdrops.org/
![Page 4: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/4.jpg)
drupal.org/8
About me
• .PT
• 15y of PHP / 8y of Drupal
• Senior Tech Manager – Acquia EMEA• Founded in 2007 by Drupal founder to support Drupal
adoption in enterprise clients (Hosting, Enterprise Support, Consulting). ~ 800 employees in many regions of the globe.
• Hernani.pt
• Twitter.com/hernanibf
![Page 5: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/5.jpg)
drupal.org/8
Today
• Intro to Drupal• Major features as a CMS (Content, Page
building, Configuration, Users & Permissions, Multilingual, Webservices, contributed modules).
• Major features as a framework (Drupal APIs, Integrations)
• Community (Worldwide & PT)
![Page 6: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/6.jpg)
drupal.org/8
Why do people choose Drupal?
Come for the Code, Stay for the Community
•Powerful core that handles most important challenges in site building. •Extensible via modules that can extend application behavior and look and feel.•Contributed modules available for many features (80% done – 20% to be done rule).•Large and passionate community.
![Page 7: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/7.jpg)
drupal.org/8
Webserver + PHP
Drupal docroot:Drupal core (/core)
Other libraries (/vendor)Contributed and custom modules (/modules)
Themes (/themes)
Drupal Stack
Files ystem for static files (uploaded files, compressed css, js, etc..)
Database (Mysql flavours)Or Others*
![Page 8: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/8.jpg)
drupal.org/8
In Drupal core• Content structure and content edition• Layout and display management (blocks +
menu + views).• Roles + Permissions + Users• Configuration and state management• URLs and routing• Application logging• APIs for many things (Routing, DB, Forms,
Session, Sanitization, Caching, Files).• Default themes (html markup + css + js).
![Page 9: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/9.jpg)
drupal.org/8
Extending Drupal• 35k Contributed modules to add to your site
(Workflow, Media, SEO, Calendars + Galleries, Integrations, you name it – there’s a module for that).
• 2k Contributed themes that you can add and extend
• You can create your custom modules to change/add functionality
• You can create or extend your custom theme to change how sites
• Drupal distributions - Sometimes you don’t need to play lego: Lightning, DrupalCommerce, OpenAtrium.
![Page 10: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/10.jpg)
drupal.org/8
Content managementContent structure via UI•Entities: Easy to manage your content/data model entities directly in the interface.•Fields: Easy to create fields for your entities with different available widgets: text, wysiwyg, files, dates, links, relationships.
Content edition:•Easy to input content for users without much technical knowledge.•Full abstraction of how data is being stored in the database.
![Page 11: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/11.jpg)
drupal.org/8
![Page 12: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/12.jpg)
drupal.org/8
![Page 13: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/13.jpg)
drupal.org/8
Content management - extras
• Revisioning support for different entities
• In place editing• Menus• Blocks• Taxonomy / Tagging• Easy to add content workflow• Easy to integrate content coming from
3rd party sources.
![Page 14: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/14.jpg)
drupal.org/8
Display management
• Easy to create displays for information created.
• Displays available out of the boxes: tables, grids, lists, json.• Easy to extend to slideshows,
calendars, galleries, any other format.• Different options to manage layouts and
page components.• Pages, blocks, REST endpoints.
![Page 15: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/15.jpg)
drupal.org/8
![Page 16: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/16.jpg)
drupal.org/8
Configuration management• Configuration defined via the interface
can be exported to configuration files in the code base and therefore put under version control.
![Page 17: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/17.jpg)
drupal.org/8
User management
Part of core:• User registration/management• Roles• Permissions
Contributed:• Easy to integrate with external login
systems (SSO, LDAP, Social logins).
![Page 18: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/18.jpg)
drupal.org/8
More with Drupal • Multilingual OOB• Webservices support OOB
• Data export• Migration plugins available
• Data import • Powerful performance and caching options• Media management• Workflow management• Layout management - rich page creation• Search integration
![Page 19: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/19.jpg)
drupal.org/8
Drupal as a framework
UI•Routing, Menus•Forms, Form state, Ajax•Blocks
Data•Entities, Fields•Configuration, State•DB queries, views
Other•Plugins, Services, Events•Multilingual•Render API•Theming layer•Caching
![Page 20: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/20.jpg)
drupal.org/8
A Drupal module structure• Info file – mymodule.info.yml• Module file - mymodule.module
• Hooks• Routing - mymodule.routing.yml
• Match Urls and Callbacks• Plugins dir - Classes that add new components
(blocks, displays, etc..) • Src dir – PHP Classes that will be used by the module• Config dir – yml files with configuration that should be
installed• Templates dir – twig files• …
![Page 21: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/21.jpg)
drupal.org/8
A Drupal example module
Examples module(Http://drupal.org/project/examples)
Pants module (Http://drupal.org/project/pants)
![Page 22: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/22.jpg)
drupal.org/8
A Drupal theme
• Info file – mytheme.info.yml• Regions, Libraries (CSS and JS to be
attached), Base theme
• Twig Template files – automatically discoverable from name and location.
• Theme file – mytheme.theme - php functions to override rendering behavior
• Css and JS and images and more..
![Page 23: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/23.jpg)
drupal.org/8
A Drupal theme example
• Bootstrap
![Page 24: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/24.jpg)
drupal.org/8
Proudly found elsewhere
https://packagist.org/packages/drupal/core
![Page 25: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/25.jpg)
drupal.org/8
Community
• Drupalcons (Every 6 months)• North America• Europe (Next September Dublin!)• Other (Mumbai, Bogota, Sydney)
• Drupalcamps (Every year per country/region)• Other specific Drupal events
• Drupal dev days (Milan), Frontend United, Drupalaton
• Online - Drupal.org, irc, stackoverflow, github..
![Page 26: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/26.jpg)
drupal.org/8
Drupal Portugal – drupal.pt
• Events and activities since 2010• Drupalcamp Lisbon 2011, Porto 2012• Regular monthly meetups – Liberdade 229• Drupal day Aveiro 2016
• http://drupalday2016.drupal-pt.org/
• Drupal.pt• Groups.drupal.org/portugal
![Page 27: Intro to drupal](https://reader035.fdocuments.in/reader035/viewer/2022062503/5886f3e41a28abba528b7665/html5/thumbnails/27.jpg)
Questions?hernani.pt