Short presentation about Drupal framework - it's core concepts, architecture and functions. Contains also a quick summary of changes introduced in Drupal 8.
2. What is Drupal?
- free and open source
- written in PHP
- used for at least 2.1% of all websites
- initial release: January 2001
- under active development
- distributed under GNU General Public
Licence
5. Presentation- Abstraction- Control
- software architectural
pattern
- interaction- oriented
- further development of the
MVC architecture, more
complex
- structure of PAC
components instead of one
simply GUI
6. Presentation- Abstraction- Control
Control - processes external
events, updates the model.
Directly updates presentation
part. Then, passes the changes
to its parent component.
Abstraction - contains the
data.
Presentation - displays
information from the
Abstraction. http://www.dossier-andreas.net/software_architecture/pac.html
7. Architecture
- Presentation Abstraction Control architecture
- what’s PAC?
- core concept is a node - all pages are
stored in the same way
- set of related informations
- text, title, author, meta-data
- navigation and presentation layers are
separated
8. Architecture
1. Collection of nodes - data pool
2. Modules - functional plugins
3. Blocks - can be configured to
output in various ways, as well
as only showing on certain
defined pages, or only for
certain defined users.
Menus are navigators which
defines the content coming on
each defined menu path.
4. Permissions are defined for
various roles. Users are
assigned to these roles in order
to grant them the defined
permissions.
5. Site theme- skin. Made up of
XHTML and CSS with PHP variables
coming from Drupal.
image: https://www.drupal.org/getting-started/before/overview
9. The core
- main element of Drupal
- isolated from added modules and themes
- easy update to new version of core without overwriting changes
Core modules
- optional modules that can be enabled by admin
- examples
- access statistics and logging
- caching
- descriptive URLs
- RSS feed
- user profiles
- access control restrictions
11. Database
Drupal Works with multiple DB systems,
usually MySQL, PostgreSQL.
- uses PHP Data Objects - interface for
accessing databases
- each type of information has its own DB
table
12. Community
- large community of users and developers
- in March 2015 about 1 200 000 user and
37 000 dev accounts
- multiple conferences, workshops and
DrupalCamps
- more info at https://www.drupal.
org/community
13.
14. Drupal 8
- adoption of some Symfony components - use OOP!
- Twig as a default template engine
- inline content editing (Spark project)
- new toolbar - responsive and extensible
- ‘Views’ module incorporated into core
- better accessibility
- easier content creation - WYSIWYG replaced with
CKeditor
- RESTful interfaces
- improvements to language maintenance options, site
translations and more precise settings.