SlideShare uma empresa Scribd logo
1 de 85
Tamer Zoubi
from Zagreb, Croatia
CTO at WEBSOLUTIONS | HR (http://websolutions.hr)
President of Drupal Croatia Association (http://drupal.hr)
Drupalist in free time (https://www.drupal.org/u/tamerzg)
Twitter @WEBSOLUTIONSHR
About me
1. Web before Drupal
2. How Drupal not only survived massive changes in web industry; but it
has also helped drive them
3. Why and how was Drupal created?
4. Tour through Drupal 1.0 to 8.0
a. Lookback of how key Drupal features we use today (eg: concept of modules,
nodes and multilingual support) evolved over time
b. Important Drupal events
5. Drupal in future
Agenda
1990. 2016.
Web before
Drupal
How Drupal not only survived massive changes in the web
industry,
but it has also helped drive them:
⇁ Open source
⇁ Modularity
⇁ Concept of "nodes" rather than "pages"
⇁ Constant evolution and reinvention over backward compatibility
massive changes in web industry
How Drupal survived
“For me the history of Drupal is a chain
of interesting surprises.”
— Dries Buytaert, Drupal Founder and Project Lead
Why and how was Drupal created?
Dorpje, drop, druppel
The concept that was ...
From druppel to
Drupal
⇁Fully-featured content management/discussion engine suitable
for a news-driven community or portal site
⇁Concepts of stories & books for content
⇁Written after Slash and Scoop
⇁No menu router, everything is accessed through .php files
⇁ eg: account.php, admin.php, submission.php, module.php, etc.
⇁Name for guest users: "Anonymous Chicken"
Drupal 1.0
15.01.2001
1.0 2.0 3.0
⇁Database abstraction layer
⇁ mySQL only but it should be straightforward to port to other
databases
⇁ db_query(), db_fetch_object(), db_fetch_array() identical functions remained
until Drupal 7
⇁ no install script, comes with SQL file
⇁ 15 tables only
Drupal 1.0
15.01.2001
1.0 2.0 3.0
⇁Story submissions
⇁Diary
⇁Accounts
⇁Comments
⇁Search
⇁RDF/RSS headlines
⇁Calendar
Features
Drupal 1.0
1.0 2.0 3.0
Modularity from beginning
Drupal 1.0
⇁Dries wanted to have a system which is as modular as possible
⇁ “modular design provides flexibility, adaptability, and continuity
which in turn allows people to customize the site to their needs and
likings”
- Dries Buytaert in documentation.module
⇁A drupal module is simply a PHP file containing a set of routines
⇁No UI for enabling/disabling modules,
manual copy-paste to the /modules directory
1.0 2.0 3.0
Administration
Drupal 1.0
1.0 2.0 3.0
Hooks
Drupal 1.0
1.0 2.0 3.0
Themes
⇁ Drupal's theme system is simple, elegant, flexible and powerful
⇁ You control all aspects of your drupal site in terms of colors,
markup, layout and even the position of most blocks (or boxes)
⇁ Very simple, just one *.theme file
⇁ Theme() class with five PHP functions
⇁ header(), story(), controls(), box(), footer()
⇁ Drupal core themes: jeroen, marvin, unconed
Drupal 1.0
Themes
Drupal 1.0
1.0 2.0 3.0
⇁It is possible for each and every user to become a contributor
⇁diff and patch for content control
⇁Patches were submitted via e-mail and in plain text;
maintainers can read and judge the patch
Community engagement
Drupal 1.0
1.0 2.0 3.0
06.12.2000
1.0 2.0 3.0
drop.org
⇁Added translation / localization / internationalization support,
the famous t()
⇁ “because many people would love to see their website showing a lot
less of English, and far more of their own language, drupal provides a
framework to setup a multi-lingual website or to overwrite the default
English text in English.”
⇁ Adding a new language requires you to edit configuration file and
SQL database manually
Drupal 2.0
15.03.2001
2.0 3.01.0 4.0
⇁Added fine-grained user permission (or group) system
⇁ user_access()
⇁Added "user ratings"
⇁ similar to SlashCode's karma or Scoop's mojo
⇁Added sections for stories
⇁ this will later evolve in taxonomy
⇁Rewrote comment/discussion
Drupal 2.0
15.03.2001
2.0 3.01.0 4.0
Administration
Drupal 2.0
2.0 3.01.0 4.0
2.0 3.01.0 4.0
drop.org
12.12.2001
2.0 3.01.0 4.0
Number of Core modules
Development Time
22
presented in months 2
Drupal 2 in numbers
Everything is based on nodes
⇁Framework for all content types (story, book, diary, forum, blog)
⇁Fortuitous early decision was to focus Drupal on the concept
of "nodes" rather than "pages"
⇁It wasn't until 10 years later with the rise of mobile that we
started to see the web revolve less and less around pages
Drupal 3.0
15.09.2001
3.0 4.02.01.0 4.1
Drupal 3.0
15.10.2001.
3.0 4.02.01.0 4.1
Administer
permissions
Drupal 3.0
3.0 4.02.01.0 4.1
3.0 4.02.01.0 4.1
drupal.org
December 2001
3.0 4.02.01.0 4.1
Number of Core modules
Development Time
26
presented in months 6
Drupal 3 in numbers
Coming out to the world of techies
kerneltrap.org
⇁In 2002 Dries initiated a relationship with Jeremy Andrews author
of kerneltrap.org and suggested Drupal as an alternative to PHP-
Nuke
⇁ kerneltrap.org was a very popular news site reporting about Linux
⇁ Feb.2002 kerneltrap.org is migrated on Drupal 3.0.2
⇁Jeremy wrote Throttle module which will later be included in core
and became one of top Drupal contributors
⇁He reported on his early conversion to work with Drupal on
kerneltrap.org
kerneltrap.org
2002
3.0 4.02.01.0 4.1
“Drupal is now really a platform for any type of web application
as users can easily extend it and modify it to better fit their
needs.”
- Drupal 4 PR
⇁Close to 100 major sites running Drupal
⇁With developers from all parts of Europe and the U.S.,
Drupal became an international open source project.
Drupal 4.0
15.06.2002
4.0 4.13.02.0 4.2
Drupal 4.0
4.0 4.13.02.0 4.3
⇁D3 used metatags and attributes to classify the content,
in a parent-child relationships, but those relationships
aren't being used
⇁Added taxonomy module which replaces the meta module
⇁ supports relations, hierarchies and synonyms
⇁Controlled vocabulary with ability to 'bookmark'
or organize content
⇁It was at this point that Drupal started to look more like a
enterprise CMS
Drupal 4.0
4.0 4.13.02.0 4.2
Taxonomy
Taxonomy
Drupal 4.0
4.0 4.13.02.0 4.2
Administration
Drupal 4.0
4.0 4.13.02.0 4.2
Administration
Drupal 4.0
4.0 4.13.02.0 4.2
Unsuccessful concepts
Drupal 4.0
⇁Next generation distributed authentication based on XML-RPC
allows users to be identified with existing Drupal logins
(even across sites) or Jabber or Yahoo logins
⇁Blogger API support allowing Drupal to both be posted to
and post with the Blogger API
⇁Automatic notification to www.weblogs.com of changes
to a user's blog
4.0 4.13.02.0 4.2
Drupal 4.1
01.02.2003
⇁Added profile.module
⇁ extend the user and registration page
⇁Added pager support
⇁First theming functions
⇁ theme_invoke() later to become theme()
⇁Comment moderation, improved forums,
improved statistics tracking, various performance improvements
4.1 4.24.03.0 4.3
Unsuccessful concepts
Drupal 4.1
⇁removed the rating.module
⇁added throttle.module
⇁ auto-throttle congestion control mechanism
⇁ eg. you might choose to disable pictures when the site is too busy
(reducing bandwidth)
⇁ as of D7, will be removed from core
⇁ today there are far better mechanisms
⇁ eg. aggressive anonymous page caching
4.1 4.24.03.0 4.3
Drupal 4.2
01.08.2003
⇁Focus on improving ease of use and administration
⇁Clean URLs
⇁ simple, easy to remember "clean URLs"
⇁First ideas leading to menu router
⇁ every request goes through index.php
⇁ using _GET[‘q’] param and hook_page()
⇁ now you could access nodes through /node/view/{nid} instead of
node.php?op=view&id={nid}
4.2 4.34.14.0 4.4
New features
Drupal 4.2
⇁Support for extending Drupal with WYSIWYG editors
⇁Support for Microsoft SQL server
⇁Node API which allows for better integration
⇁ hook_nodeapi()
⇁"Xtemplate", a template driven theme engine instead of custom
made Theme() class
4.2 4.34.14.0 4.4
Drupal coming out to the world
2003
⇁Interest in Drupal got a significant boost in summer of 2003 when
it helped build "DeanSpace" for Howard Dean, one of the 2004
U.S. presidential election candidates
⇁DeanSpace provided something like Drupal distribution which
anyone could download and install his own Dean-site
⇁As campaign grew more and more, Drupal saw 300% increased
activity on drupal.org in terms of content
4.2 4.34.14.0 4.4
4.2 4.34.14.0 4.4
Drupal coming out to the world
DeanSpace
Drupal 4.3
01.11.2003
⇁Focus has gone into improving user-friendliness, both to end-
users and administrators
⇁URL alias support through new path.module
⇁Database prefixing
⇁Breadcrumbs
⇁Mass node operations
4.3 4.44.24.1 4.5
Drupal 4.4
01.04.2004
⇁Added a file API
⇁ enables better document management
⇁Added fieldsets
⇁Added many new theme functions and refactored existing theme
functions
⇁ improved themability of Drupal
⇁ made all theme functions start with 'theme_'
⇁First E-commerce contributed module
4.4 4.54.34.2 4.6
Drupal 4.5
18.10.2004
⇁Configurable menus
⇁ made it possible to add, delete, rename and move menu items
⇁ hook_menu() is born
⇁Tab based user interface
⇁ introduced tabs and subtabs for local tasks
⇁Multiple roles per user
⇁Customizable user profiles
⇁ made it possible to add custom profile fields through UI
4.5 4.64.44.3 4.7
Translation improvements
Drupal 4.5
Finally since Drupal 2.0 we are seeing some major improvements
on translation
⇁managing translations is now completely done through the
administration interface
⇁no more manually editing tables in SQL to add new language
⇁added support for importing/exporting gettext .po files
4.5 4.64.44.3 4.7
Translation
improvements
Drupal 4.5
4.5 4.64.44.3 4.7
Admin UI
Drupal 4.5
4.5 4.64.44.3 4.7
2005
1st Drupal conference
Belgium 2005
Drupal 4.6
4.7
⇁PHP5 support
⇁Multi-site support to run multiple Drupal sites
from a single code base
⇁Personal contact forms for registered users
⇁Added an image API: enables better image handling
⇁ image resizing, crop, scale using GD2
⇁ predecessor to imagestyle module in D7
⇁Made the ping module ping pingomatic.com which, in turn,
will ping all the major ping services
5.0
15.04.2005
4.64.54.4
4.7 5.04.64.54.4
Drupal 4.7
01.05.2006
⇁More than five years, 30+ servicing firms employing 100+
Drupal professionals, 300+ contrib modules, and 55,000+
Drupal powered sites later, Drupal 4.7.0 is finally here and it
rocks!
⇁There have been over 338 contributors with over 1500 patches
⇁Major usability improvements and new Drupal core functionality
⇁Later this year Views module is born
4.7 5.04.64.5 6.0
New features
Drupal 4.7
⇁Lots of JS & AJAX
⇁ autocomplete & file uploading
⇁New Forms API: The forms API has been refactored to make it
possible to alter, extend or theme any form in Drupal
⇁ made it possible to alter, extend or theme forms
⇁ however broke hundreds of contributed modules
⇁ but eventually pay-off was huge
4.7 5.04.64.5 6.0
Module improvements
Drupal 4.7
Modules can install database tables
⇁each module can define its .install file
⇁using hook_install() table would be created using db_query()
⇁ later to be replaced with Database schema API
⇁prior to this if module needed to install database tables, it would
come with sql dump and instructions how to manually import it!
4.7 5.04.64.5 6.0
Theme improvements
Drupal 4.7
⇁PHPTemplate
⇁ written by Adrian Rossouw specifically for use with Drupal
⇁ Xtemplate engine removed
⇁ Existing core themes ported to PHPTemplate
⇁ uses individual tpl.php files to theme Drupal's theme_something()
functions
⇁ PHPTemplate was used until Drupal 8 when it was replaced by Twig
⇁Multiple Block Regions
⇁ added support for theme-specific block regions
4.7 5.04.64.5 6.0
4.7 5.04.64.5 6.0
Number of Core modules
Development Time
31
in months, all 4.x releases 55.5
Drupal 4 in numbers
4.7
Drupal 5.0
15.01.2007
⇁Released on Drupal's 6th birthday
⇁Drupal 4.0 was released in 2002 and finally community feel
confident to increase the major version number from 4 to 5
⇁Over 492 contributors to the Drupal 5.0 release,
submitting 1173 patches
⇁Over 2500 contributed modules
5.0 6.04.74.6 7.0
Features
Drupal 5.0
⇁Web-based installer
⇁ no more manual import of sql dump
⇁ checks run-time requirements
⇁ Reorganized module directory structure
⇁ modules now have their own directory
⇁ contrib modules & themes go to sites/all directory
⇁Module dependencies
⇁ added .info files for module meta-data
⇁ added support for module dependencies
5.0 6.04.74.6 7.0
Features
Drupal 5.0
⇁Pluggable cache backends
⇁ can plugin alternative cache backends
⇁ use file caching, memcached or other cache strategies instead of the
default database caching
⇁jQuery 1.0.4
⇁ all existing JS in Drupal core has been converted to use it
⇁ Drupal was early adopter, today jQuery is used on 60% of top-million
sites
⇁Custom content types
⇁Added support for Drupal distributions
⇁ distributions allow people to create ready-made downloadable
packages
with their own focus and vision
5.0 6.04.74.6 7.0
Theme improvements
Drupal 5.0
⇁Garland as the new default theme
⇁ uses the new color module to change the theme's entire color scheme
on the fly
⇁CSS preprocessor
⇁ all (cacheable) stylesheets are now aggregated into one compressed
file
⇁ makes site faster
5.0 6.04.74.6 7.0
5.0 6.04.74.6 7.0
New default theme
Garland
5.0 6.04.74.6 7.0
Number of Core modules
Development Time
29
presented in months 8.5
Drupal 5 in numbers
Drupal 6.0
13.02.2008
⇁Reached EOL recently (24 Feb 2016)
⇁Still estimated of 120,000 websites are using Drupal 6
⇁Over 7000 contributed modules and 600 custom themes
⇁Friendlier installer
⇁Drag-and-drop administration
⇁Drupal's menu system has been rewritten from scratch,
making it much more efficient and powerful
⇁Improved security
⇁ update module to notify about new releases
⇁ security Announcements email list
6.0 7.05.04.7 8.0
Goes DrupalWhite House
October 2009
Goes Drupal
Number of Core modules
Development Time
34
presented in months 13
Drupal 6 in numbers
Drupal 7.0
05.01.2011
⇁Drupal is now used for building any kind of website from blogs
and microsites to enterprise level systems
⇁11000+ contrib modules, 600+ themes & 200+ distributions
⇁Everything is an entity
⇁ Content types
⇁ Taxonomy
⇁ Users
⇁ Custom entity types
⇁Now it’s all about web apps
7.0 8.06.05.0 8.1
Drupal 8.0 released
19. November 2015
⇁Starting with Drupal 8.0, core releases will move to a new
release cycle schedule, and begin using the semantic versioning
(semver) numbering system
⇁Scheduled minor releases (8.1, 8.2) will be released
approximately every 6 months, and will incorporate new features
⇁ 20.4.2016 - Drupal 8.1
⇁Drupal 9.0 will be 8.x but without backward compatibility
8.0 ...7.06.0 9.0
Drupal 8.1, 8.2, ... 9.0
Number of core modules
Number of database tables
Development times between releases
Development times between releases
Thank you for your time
⇁ You can get my slides from
http://websolutions.hr/drupal-history
⇁ There you will also find links to GitHub where you can browse
and download old releases, including Drupal 1.0
⇁ Stay tuned for upcoming series of blog posts about Drupal’s
history. Next post will be about Evolution of Form API
⇁ Follow us @WEBSOLUTIONSHR
All images, product names, logos, and brands are property of their respective owners. All company/organisation, product and service names used in this presentation are
for education purposes only. Use of these images, names, logos, and brands does not imply endorsement. Copyrights are retained by their owners.
Creative Commons Licence
This work is licensed under the Creative Commons Attribution-NonCommercial-
ShareAlike 4.0 International License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-sa/4.0/.
Copyrights and Trademarks
websolutions.hr

Mais conteúdo relacionado

Mais procurados

Access control list 2
Access control list 2Access control list 2
Access control list 2
Kishore Kumar
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuning
Yogiji Creations
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peer
Mohd Arif
 

Mais procurados (20)

Linux Kernel I/O Schedulers
Linux Kernel I/O SchedulersLinux Kernel I/O Schedulers
Linux Kernel I/O Schedulers
 
PCD - Process control daemon
PCD - Process control daemonPCD - Process control daemon
PCD - Process control daemon
 
Access control list 2
Access control list 2Access control list 2
Access control list 2
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuning
 
Oracle architecture ppt
Oracle architecture pptOracle architecture ppt
Oracle architecture ppt
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
Linux dma engine
Linux dma engineLinux dma engine
Linux dma engine
 
Getting IPv6 & Securing your Routing
Getting IPv6 & Securing your RoutingGetting IPv6 & Securing your Routing
Getting IPv6 & Securing your Routing
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peer
 
Linux Boot Process
Linux Boot ProcessLinux Boot Process
Linux Boot Process
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
 
EIGRP Routing Protocols
EIGRP Routing ProtocolsEIGRP Routing Protocols
EIGRP Routing Protocols
 
How to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL serversHow to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL servers
 
Router configuration in packet tracer
Router configuration in packet  tracerRouter configuration in packet  tracer
Router configuration in packet tracer
 
Glowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bienGlowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bien
 
New Ways to Find Latency in Linux Using Tracing
New Ways to Find Latency in Linux Using TracingNew Ways to Find Latency in Linux Using Tracing
New Ways to Find Latency in Linux Using Tracing
 
Oracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingOracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention Troubleshooting
 
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
 
Apache Cassandra multi-datacenter essentials
Apache Cassandra multi-datacenter essentialsApache Cassandra multi-datacenter essentials
Apache Cassandra multi-datacenter essentials
 

Destaque

G265 小平朋江・いとうたけひこ (2017, 3月). 精神障害当事者の自己開示とリカバリー:メンタルヘルスマガジン『こころの元気+』表紙モデルの動機...
G265 小平朋江・いとうたけひこ (2017, 3月). 精神障害当事者の自己開示とリカバリー:メンタルヘルスマガジン『こころの元気+』表紙モデルの動機...G265 小平朋江・いとうたけひこ (2017, 3月). 精神障害当事者の自己開示とリカバリー:メンタルヘルスマガジン『こころの元気+』表紙モデルの動機...
G265 小平朋江・いとうたけひこ (2017, 3月). 精神障害当事者の自己開示とリカバリー:メンタルヘルスマガジン『こころの元気+』表紙モデルの動機...
Takehiko Ito
 
Libro proyecto alternativo de nacion
Libro proyecto alternativo de nacionLibro proyecto alternativo de nacion
Libro proyecto alternativo de nacion
Martin Triana
 

Destaque (18)

Designing for Diversity in Design Orgs (Presentation)
Designing for Diversity in Design Orgs (Presentation)Designing for Diversity in Design Orgs (Presentation)
Designing for Diversity in Design Orgs (Presentation)
 
Three Secrets to Communicating with Confidence & Influence
Three Secrets to Communicating with Confidence & InfluenceThree Secrets to Communicating with Confidence & Influence
Three Secrets to Communicating with Confidence & Influence
 
Modelo Del Prisma
Modelo Del PrismaModelo Del Prisma
Modelo Del Prisma
 
Selective medium for isolating phanerochaete chrysosporium
Selective medium for isolating phanerochaete chrysosporiumSelective medium for isolating phanerochaete chrysosporium
Selective medium for isolating phanerochaete chrysosporium
 
G265 小平朋江・いとうたけひこ (2017, 3月). 精神障害当事者の自己開示とリカバリー:メンタルヘルスマガジン『こころの元気+』表紙モデルの動機...
G265 小平朋江・いとうたけひこ (2017, 3月). 精神障害当事者の自己開示とリカバリー:メンタルヘルスマガジン『こころの元気+』表紙モデルの動機...G265 小平朋江・いとうたけひこ (2017, 3月). 精神障害当事者の自己開示とリカバリー:メンタルヘルスマガジン『こころの元気+』表紙モデルの動機...
G265 小平朋江・いとうたけひこ (2017, 3月). 精神障害当事者の自己開示とリカバリー:メンタルヘルスマガジン『こころの元気+』表紙モデルの動機...
 
Why Do Younger Consumers Oppose EMV Technology?
Why Do Younger Consumers Oppose EMV Technology?Why Do Younger Consumers Oppose EMV Technology?
Why Do Younger Consumers Oppose EMV Technology?
 
Libro proyecto alternativo de nacion
Libro proyecto alternativo de nacionLibro proyecto alternativo de nacion
Libro proyecto alternativo de nacion
 
CLIL: Teaching History to Language Learners
 CLIL: Teaching History to Language Learners CLIL: Teaching History to Language Learners
CLIL: Teaching History to Language Learners
 
Tarea 1.1 Grupos de alimentos
Tarea 1.1 Grupos de alimentosTarea 1.1 Grupos de alimentos
Tarea 1.1 Grupos de alimentos
 
Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way
 
Shifting to Customer-Centric Marketing for Ecommerce
Shifting to Customer-Centric Marketing for EcommerceShifting to Customer-Centric Marketing for Ecommerce
Shifting to Customer-Centric Marketing for Ecommerce
 
Cognitive Security - Anatomy of Advanced Persistent Threats ('12)
Cognitive Security - Anatomy of Advanced Persistent Threats ('12)Cognitive Security - Anatomy of Advanced Persistent Threats ('12)
Cognitive Security - Anatomy of Advanced Persistent Threats ('12)
 
Phils Session cards @ Measurecamp
Phils Session cards @ MeasurecampPhils Session cards @ Measurecamp
Phils Session cards @ Measurecamp
 
Impact of Agile on HR
Impact of Agile on HRImpact of Agile on HR
Impact of Agile on HR
 
大学向け認証基盤システム概略と最新技術動向 Axies2015
大学向け認証基盤システム概略と最新技術動向 Axies2015大学向け認証基盤システム概略と最新技術動向 Axies2015
大学向け認証基盤システム概略と最新技術動向 Axies2015
 
Lord krishna as a strategist
Lord krishna as a strategistLord krishna as a strategist
Lord krishna as a strategist
 
Watson genomics
Watson genomicsWatson genomics
Watson genomics
 
Opioids toxicity
Opioids toxicityOpioids toxicity
Opioids toxicity
 

Semelhante a History of Drupal: From Drop 1.0 to Drupal 8

Semelhante a History of Drupal: From Drop 1.0 to Drupal 8 (20)

Drupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime CollegeDrupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime College
 
Drupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime CollegeDrupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime College
 
Drupal introduction
Drupal introductionDrupal introduction
Drupal introduction
 
Drupal Webinar
Drupal WebinarDrupal Webinar
Drupal Webinar
 
Drupal - Introduction to User Management in Drupal
Drupal - Introduction to User Management in DrupalDrupal - Introduction to User Management in Drupal
Drupal - Introduction to User Management in Drupal
 
What is Drupal
What is DrupalWhat is Drupal
What is Drupal
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal IntroDrupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
 
Introduction to drupal
Introduction to drupalIntroduction to drupal
Introduction to drupal
 
[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party
 
[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release party[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release party
 
LITA Preconference: Getting Started with Drupal (handout)
LITA Preconference: Getting Started with Drupal (handout)LITA Preconference: Getting Started with Drupal (handout)
LITA Preconference: Getting Started with Drupal (handout)
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
 
Choosing an Open Source CMS
Choosing an Open Source CMSChoosing an Open Source CMS
Choosing an Open Source CMS
 
72d5drupal
72d5drupal72d5drupal
72d5drupal
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
 
Vskills certified open source cms drupal professional sample material
Vskills certified open source cms drupal professional sample materialVskills certified open source cms drupal professional sample material
Vskills certified open source cms drupal professional sample material
 
Drupal for Programmers
Drupal for ProgrammersDrupal for Programmers
Drupal for Programmers
 
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
 
Drupal Skils Lab 302Labs
Drupal Skils Lab 302Labs Drupal Skils Lab 302Labs
Drupal Skils Lab 302Labs
 
Getting Started with Drupal - Handouts
Getting Started with Drupal - HandoutsGetting Started with Drupal - Handouts
Getting Started with Drupal - Handouts
 

Último

( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
nilamkumrai
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
nilamkumrai
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
nirzagarg
 

Último (20)

( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 

History of Drupal: From Drop 1.0 to Drupal 8

  • 1.
  • 2. Tamer Zoubi from Zagreb, Croatia CTO at WEBSOLUTIONS | HR (http://websolutions.hr) President of Drupal Croatia Association (http://drupal.hr) Drupalist in free time (https://www.drupal.org/u/tamerzg) Twitter @WEBSOLUTIONSHR About me
  • 3. 1. Web before Drupal 2. How Drupal not only survived massive changes in web industry; but it has also helped drive them 3. Why and how was Drupal created? 4. Tour through Drupal 1.0 to 8.0 a. Lookback of how key Drupal features we use today (eg: concept of modules, nodes and multilingual support) evolved over time b. Important Drupal events 5. Drupal in future Agenda 1990. 2016.
  • 5. How Drupal not only survived massive changes in the web industry, but it has also helped drive them: ⇁ Open source ⇁ Modularity ⇁ Concept of "nodes" rather than "pages" ⇁ Constant evolution and reinvention over backward compatibility massive changes in web industry How Drupal survived
  • 6. “For me the history of Drupal is a chain of interesting surprises.” — Dries Buytaert, Drupal Founder and Project Lead Why and how was Drupal created?
  • 7.
  • 8. Dorpje, drop, druppel The concept that was ...
  • 10. ⇁Fully-featured content management/discussion engine suitable for a news-driven community or portal site ⇁Concepts of stories & books for content ⇁Written after Slash and Scoop ⇁No menu router, everything is accessed through .php files ⇁ eg: account.php, admin.php, submission.php, module.php, etc. ⇁Name for guest users: "Anonymous Chicken" Drupal 1.0 15.01.2001 1.0 2.0 3.0
  • 11. ⇁Database abstraction layer ⇁ mySQL only but it should be straightforward to port to other databases ⇁ db_query(), db_fetch_object(), db_fetch_array() identical functions remained until Drupal 7 ⇁ no install script, comes with SQL file ⇁ 15 tables only Drupal 1.0 15.01.2001 1.0 2.0 3.0
  • 12.
  • 14.
  • 15. Modularity from beginning Drupal 1.0 ⇁Dries wanted to have a system which is as modular as possible ⇁ “modular design provides flexibility, adaptability, and continuity which in turn allows people to customize the site to their needs and likings” - Dries Buytaert in documentation.module ⇁A drupal module is simply a PHP file containing a set of routines ⇁No UI for enabling/disabling modules, manual copy-paste to the /modules directory 1.0 2.0 3.0
  • 18. Themes ⇁ Drupal's theme system is simple, elegant, flexible and powerful ⇁ You control all aspects of your drupal site in terms of colors, markup, layout and even the position of most blocks (or boxes) ⇁ Very simple, just one *.theme file ⇁ Theme() class with five PHP functions ⇁ header(), story(), controls(), box(), footer() ⇁ Drupal core themes: jeroen, marvin, unconed Drupal 1.0
  • 20. ⇁It is possible for each and every user to become a contributor ⇁diff and patch for content control ⇁Patches were submitted via e-mail and in plain text; maintainers can read and judge the patch Community engagement Drupal 1.0 1.0 2.0 3.0
  • 22. ⇁Added translation / localization / internationalization support, the famous t() ⇁ “because many people would love to see their website showing a lot less of English, and far more of their own language, drupal provides a framework to setup a multi-lingual website or to overwrite the default English text in English.” ⇁ Adding a new language requires you to edit configuration file and SQL database manually Drupal 2.0 15.03.2001 2.0 3.01.0 4.0
  • 23. ⇁Added fine-grained user permission (or group) system ⇁ user_access() ⇁Added "user ratings" ⇁ similar to SlashCode's karma or Scoop's mojo ⇁Added sections for stories ⇁ this will later evolve in taxonomy ⇁Rewrote comment/discussion Drupal 2.0 15.03.2001 2.0 3.01.0 4.0
  • 24.
  • 28. Number of Core modules Development Time 22 presented in months 2 Drupal 2 in numbers
  • 29. Everything is based on nodes ⇁Framework for all content types (story, book, diary, forum, blog) ⇁Fortuitous early decision was to focus Drupal on the concept of "nodes" rather than "pages" ⇁It wasn't until 10 years later with the rise of mobile that we started to see the web revolve less and less around pages Drupal 3.0 15.09.2001 3.0 4.02.01.0 4.1
  • 34. Number of Core modules Development Time 26 presented in months 6 Drupal 3 in numbers
  • 35. Coming out to the world of techies kerneltrap.org ⇁In 2002 Dries initiated a relationship with Jeremy Andrews author of kerneltrap.org and suggested Drupal as an alternative to PHP- Nuke ⇁ kerneltrap.org was a very popular news site reporting about Linux ⇁ Feb.2002 kerneltrap.org is migrated on Drupal 3.0.2 ⇁Jeremy wrote Throttle module which will later be included in core and became one of top Drupal contributors ⇁He reported on his early conversion to work with Drupal on kerneltrap.org kerneltrap.org 2002
  • 37. “Drupal is now really a platform for any type of web application as users can easily extend it and modify it to better fit their needs.” - Drupal 4 PR ⇁Close to 100 major sites running Drupal ⇁With developers from all parts of Europe and the U.S., Drupal became an international open source project. Drupal 4.0 15.06.2002 4.0 4.13.02.0 4.2
  • 39. ⇁D3 used metatags and attributes to classify the content, in a parent-child relationships, but those relationships aren't being used ⇁Added taxonomy module which replaces the meta module ⇁ supports relations, hierarchies and synonyms ⇁Controlled vocabulary with ability to 'bookmark' or organize content ⇁It was at this point that Drupal started to look more like a enterprise CMS Drupal 4.0 4.0 4.13.02.0 4.2 Taxonomy
  • 43. Unsuccessful concepts Drupal 4.0 ⇁Next generation distributed authentication based on XML-RPC allows users to be identified with existing Drupal logins (even across sites) or Jabber or Yahoo logins ⇁Blogger API support allowing Drupal to both be posted to and post with the Blogger API ⇁Automatic notification to www.weblogs.com of changes to a user's blog 4.0 4.13.02.0 4.2
  • 44. Drupal 4.1 01.02.2003 ⇁Added profile.module ⇁ extend the user and registration page ⇁Added pager support ⇁First theming functions ⇁ theme_invoke() later to become theme() ⇁Comment moderation, improved forums, improved statistics tracking, various performance improvements 4.1 4.24.03.0 4.3
  • 45. Unsuccessful concepts Drupal 4.1 ⇁removed the rating.module ⇁added throttle.module ⇁ auto-throttle congestion control mechanism ⇁ eg. you might choose to disable pictures when the site is too busy (reducing bandwidth) ⇁ as of D7, will be removed from core ⇁ today there are far better mechanisms ⇁ eg. aggressive anonymous page caching 4.1 4.24.03.0 4.3
  • 46. Drupal 4.2 01.08.2003 ⇁Focus on improving ease of use and administration ⇁Clean URLs ⇁ simple, easy to remember "clean URLs" ⇁First ideas leading to menu router ⇁ every request goes through index.php ⇁ using _GET[‘q’] param and hook_page() ⇁ now you could access nodes through /node/view/{nid} instead of node.php?op=view&id={nid} 4.2 4.34.14.0 4.4
  • 47. New features Drupal 4.2 ⇁Support for extending Drupal with WYSIWYG editors ⇁Support for Microsoft SQL server ⇁Node API which allows for better integration ⇁ hook_nodeapi() ⇁"Xtemplate", a template driven theme engine instead of custom made Theme() class 4.2 4.34.14.0 4.4
  • 48. Drupal coming out to the world 2003 ⇁Interest in Drupal got a significant boost in summer of 2003 when it helped build "DeanSpace" for Howard Dean, one of the 2004 U.S. presidential election candidates ⇁DeanSpace provided something like Drupal distribution which anyone could download and install his own Dean-site ⇁As campaign grew more and more, Drupal saw 300% increased activity on drupal.org in terms of content 4.2 4.34.14.0 4.4
  • 49. 4.2 4.34.14.0 4.4 Drupal coming out to the world DeanSpace
  • 50. Drupal 4.3 01.11.2003 ⇁Focus has gone into improving user-friendliness, both to end- users and administrators ⇁URL alias support through new path.module ⇁Database prefixing ⇁Breadcrumbs ⇁Mass node operations 4.3 4.44.24.1 4.5
  • 51. Drupal 4.4 01.04.2004 ⇁Added a file API ⇁ enables better document management ⇁Added fieldsets ⇁Added many new theme functions and refactored existing theme functions ⇁ improved themability of Drupal ⇁ made all theme functions start with 'theme_' ⇁First E-commerce contributed module 4.4 4.54.34.2 4.6
  • 52. Drupal 4.5 18.10.2004 ⇁Configurable menus ⇁ made it possible to add, delete, rename and move menu items ⇁ hook_menu() is born ⇁Tab based user interface ⇁ introduced tabs and subtabs for local tasks ⇁Multiple roles per user ⇁Customizable user profiles ⇁ made it possible to add custom profile fields through UI 4.5 4.64.44.3 4.7
  • 53. Translation improvements Drupal 4.5 Finally since Drupal 2.0 we are seeing some major improvements on translation ⇁managing translations is now completely done through the administration interface ⇁no more manually editing tables in SQL to add new language ⇁added support for importing/exporting gettext .po files 4.5 4.64.44.3 4.7
  • 55. Admin UI Drupal 4.5 4.5 4.64.44.3 4.7
  • 57. Drupal 4.6 4.7 ⇁PHP5 support ⇁Multi-site support to run multiple Drupal sites from a single code base ⇁Personal contact forms for registered users ⇁Added an image API: enables better image handling ⇁ image resizing, crop, scale using GD2 ⇁ predecessor to imagestyle module in D7 ⇁Made the ping module ping pingomatic.com which, in turn, will ping all the major ping services 5.0 15.04.2005 4.64.54.4
  • 59. Drupal 4.7 01.05.2006 ⇁More than five years, 30+ servicing firms employing 100+ Drupal professionals, 300+ contrib modules, and 55,000+ Drupal powered sites later, Drupal 4.7.0 is finally here and it rocks! ⇁There have been over 338 contributors with over 1500 patches ⇁Major usability improvements and new Drupal core functionality ⇁Later this year Views module is born 4.7 5.04.64.5 6.0
  • 60. New features Drupal 4.7 ⇁Lots of JS & AJAX ⇁ autocomplete & file uploading ⇁New Forms API: The forms API has been refactored to make it possible to alter, extend or theme any form in Drupal ⇁ made it possible to alter, extend or theme forms ⇁ however broke hundreds of contributed modules ⇁ but eventually pay-off was huge 4.7 5.04.64.5 6.0
  • 61. Module improvements Drupal 4.7 Modules can install database tables ⇁each module can define its .install file ⇁using hook_install() table would be created using db_query() ⇁ later to be replaced with Database schema API ⇁prior to this if module needed to install database tables, it would come with sql dump and instructions how to manually import it! 4.7 5.04.64.5 6.0
  • 62. Theme improvements Drupal 4.7 ⇁PHPTemplate ⇁ written by Adrian Rossouw specifically for use with Drupal ⇁ Xtemplate engine removed ⇁ Existing core themes ported to PHPTemplate ⇁ uses individual tpl.php files to theme Drupal's theme_something() functions ⇁ PHPTemplate was used until Drupal 8 when it was replaced by Twig ⇁Multiple Block Regions ⇁ added support for theme-specific block regions 4.7 5.04.64.5 6.0
  • 64. Number of Core modules Development Time 31 in months, all 4.x releases 55.5 Drupal 4 in numbers 4.7
  • 65. Drupal 5.0 15.01.2007 ⇁Released on Drupal's 6th birthday ⇁Drupal 4.0 was released in 2002 and finally community feel confident to increase the major version number from 4 to 5 ⇁Over 492 contributors to the Drupal 5.0 release, submitting 1173 patches ⇁Over 2500 contributed modules 5.0 6.04.74.6 7.0
  • 66. Features Drupal 5.0 ⇁Web-based installer ⇁ no more manual import of sql dump ⇁ checks run-time requirements ⇁ Reorganized module directory structure ⇁ modules now have their own directory ⇁ contrib modules & themes go to sites/all directory ⇁Module dependencies ⇁ added .info files for module meta-data ⇁ added support for module dependencies 5.0 6.04.74.6 7.0
  • 67. Features Drupal 5.0 ⇁Pluggable cache backends ⇁ can plugin alternative cache backends ⇁ use file caching, memcached or other cache strategies instead of the default database caching ⇁jQuery 1.0.4 ⇁ all existing JS in Drupal core has been converted to use it ⇁ Drupal was early adopter, today jQuery is used on 60% of top-million sites ⇁Custom content types ⇁Added support for Drupal distributions ⇁ distributions allow people to create ready-made downloadable packages with their own focus and vision 5.0 6.04.74.6 7.0
  • 68. Theme improvements Drupal 5.0 ⇁Garland as the new default theme ⇁ uses the new color module to change the theme's entire color scheme on the fly ⇁CSS preprocessor ⇁ all (cacheable) stylesheets are now aggregated into one compressed file ⇁ makes site faster 5.0 6.04.74.6 7.0
  • 69. 5.0 6.04.74.6 7.0 New default theme Garland
  • 71. Number of Core modules Development Time 29 presented in months 8.5 Drupal 5 in numbers
  • 72. Drupal 6.0 13.02.2008 ⇁Reached EOL recently (24 Feb 2016) ⇁Still estimated of 120,000 websites are using Drupal 6 ⇁Over 7000 contributed modules and 600 custom themes ⇁Friendlier installer ⇁Drag-and-drop administration ⇁Drupal's menu system has been rewritten from scratch, making it much more efficient and powerful ⇁Improved security ⇁ update module to notify about new releases ⇁ security Announcements email list 6.0 7.05.04.7 8.0
  • 73. Goes DrupalWhite House October 2009 Goes Drupal
  • 74. Number of Core modules Development Time 34 presented in months 13 Drupal 6 in numbers
  • 75. Drupal 7.0 05.01.2011 ⇁Drupal is now used for building any kind of website from blogs and microsites to enterprise level systems ⇁11000+ contrib modules, 600+ themes & 200+ distributions ⇁Everything is an entity ⇁ Content types ⇁ Taxonomy ⇁ Users ⇁ Custom entity types ⇁Now it’s all about web apps 7.0 8.06.05.0 8.1
  • 76.
  • 77. Drupal 8.0 released 19. November 2015
  • 78. ⇁Starting with Drupal 8.0, core releases will move to a new release cycle schedule, and begin using the semantic versioning (semver) numbering system ⇁Scheduled minor releases (8.1, 8.2) will be released approximately every 6 months, and will incorporate new features ⇁ 20.4.2016 - Drupal 8.1 ⇁Drupal 9.0 will be 8.x but without backward compatibility 8.0 ...7.06.0 9.0 Drupal 8.1, 8.2, ... 9.0
  • 79. Number of core modules
  • 83. Thank you for your time ⇁ You can get my slides from http://websolutions.hr/drupal-history ⇁ There you will also find links to GitHub where you can browse and download old releases, including Drupal 1.0 ⇁ Stay tuned for upcoming series of blog posts about Drupal’s history. Next post will be about Evolution of Form API ⇁ Follow us @WEBSOLUTIONSHR
  • 84. All images, product names, logos, and brands are property of their respective owners. All company/organisation, product and service names used in this presentation are for education purposes only. Use of these images, names, logos, and brands does not imply endorsement. Copyrights are retained by their owners. Creative Commons Licence This work is licensed under the Creative Commons Attribution-NonCommercial- ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/. Copyrights and Trademarks

Notas do Editor

  1. Hello everyone and welcome to my presentation about History of Drupal. I am Tamer Zoubi coming from Croatia, Zagreb, in my profesional life I am CTO and co-founder at WEBSOLUTIONS HR, a largest Drupal shop in Croatia. Also I am president of Drupal Croatia Association and in rest of the time Drupalist with dozens of contributed modules. Motivation from today presentation comes from recent Drupal 15th birthday, when I asked myself how much I know about Drupal prior to when I first started working on it (Drupal 5) and I figured out a very little! Therefore I made a research and this presentation so everybody could understand how Drupal evolved from message board platform (Drop 1.0) to a fully scaled enterprise level CMS (Drupal 8.0) and hopefuly have fun with this trip back in time!
  2. Today we will talk about Web before Drupal How Drupal not only survived massive changes in web industry; but it has also helped drive them Why and how was Drupal created? Tour through Drupal 1.0 to 8.0 lookback of how key Drupal features we use today (eg: concept of modules, nodes and multilingual support) evolved over time Important Drupal events Drupal in future
  3. In the early 90s first websites come online. Mostly they are built using HTML and images, CSS for styles (from 1996), JS for managing DOM elements(from 1995), Flash was popular in late 90s. Many content management systems emerged Scoop, Vignette, PHP-Nuke, and were all popular at some point in the past but now they are obsolete and Drupal has outlived them all.
  4. so how come Drupal is still alive and others aren’t? Looking back 15 years I think there are 4 key concepts that made Drupal survive constant changes in web industry, but also it drive them. Open source The early decisions to open-source Drupal and use the GPL license set the cornerstone for community. Modularity: Drupal introduced "hooks" and "modules" from its very first release, concepts that are commonplace in today's platforms. Nodes: Another fortuitous early decision was to focus Drupal on the concept of "nodes" rather than "pages". It wasn't until 10 years later with the rise of mobile that we started to see the web revolve less and less around pages. A node-based approach makes it possible to reuse content in different ways for different devices. In a way, much of the industry is still catching up to that vision. Constant evolution and reinvention over backward compatibility Preserving backward compatibility often requires that you drag historical baggage along, this comes at a significant cost. So it was decided that we can break people's code, but not people's data. Now you know why its so hard to migrate from one major version to another. And to see how that happened we need to get back to the beginning and see how Drupal was created?
  5. Why and how was Drupal created? As Dries said: “For me the history of Drupal is a chain of interesting surprises.”
  6. First suprise was in 1998 when this guy, a Belgian student began constructing intranet message board site to connect with his university friends and discuss the tech news.
  7. After university he keeped the discussions going, by moving the internal site to the Internet, therefore drop.org was borned 28.April.2000. Story behind a name is a typo. When registering his new site’s domain, Dries meant to type an Dutch word dorpje (meaning village), but misspelled it as the English word drop. it actually sounded good...so he went with it. Later, when naming the software, he back-translated drop into Dutch (druppel), which he then spelled phonetically (in English) as drupal.
  8. And 2 days before new year 29.12.2000 ,in this legendary commit Dries baptised his software "Drupal" and he also added the GPL license.
  9. And after 2 release candidates on 15.Jan Drupal 1.0 was born! Fully-featured content management/discussion engine suitable for a news-driven community or portal site. Concepts of stories & books for content Written after Slash and Scoop -too popular message board systems at the time. No menu router, everything is accessed through .php files Eg: account.php, admin.php,etc… Had funny name for guest users: "Anonymous Chicken"
  10. One of the important features is it had database abstraction layer mySQL support only but it should be easy to port to other databases db_query(), db_fetch_object(), db_fetch_array() identical functions remained until Drupal 7 Database had only 15 tables, and It didn’t have install script, you had to manually import sql file. And when you did that you would get this...
  11. ...your very own first Drupal site, it was a very basic with few options.
  12. Those options where: Story submissions, with hardcoded categories Diary, like today blog Accounts - user login, registration Comments Search RDF headlines Calendar-which was instead of pager to reach archive stories.
  13. Example of entering new diary in Drupal 1.0, very simple, one filter only. Anyone could submit news to your site, then it would go to submission queue.
  14. From beginning Drupal had a vision of modularity which is its 2nd key concept of the success. When developing drupal it became clear to Dries that he wanted to have a modular design which will provide flexibility which allows people to customize the site to their needs and likings. At its beggining modules where very primitive compared to today. They where just single PHP file located in /modules directory.
  15. This is administration page for the modules. There where 18 core modules, and you couldn’t enable/disable them through UI, instead you had to copy or delete them from modules directory. Admin was seperated from clientside interface in first versions of Drupal. It didn’t have theme and was just a bunch of links in header.
  16. How modules worked; was the idea to be able to run random code at given places in the engine. This random code should then be able to do whatever needed to enhance the functionality. The places where code can be executed are called "hooks" and are defined by a fixed interface. Here are list of Drupal 1.0 hooks, just 7 of them! Some are even used today like hook_block, hook_help, and hook_cron
  17. From beginning Drupal tried to separate backend from frontend therefore having a theme system which is simple and flexible and where you could control colors, mark-up, layout and even the position of most blocks (or boxes) Just like modules, you could also easily create your own theme by putting new .theme file in /themes directory. .theme was PHP file implementing Theme() class with five functions header(), story(), controls(), box(), footer()
  18. Each user could change his own theme in site preferences. Drupal core themes: jeroen, marvin, unconed
  19. From 1st version drupal engine is open source, GPL licenced. It is possible for each and every user to become a contributor. Using diff and patch for content control instead of directly commiting to CVS. Because it provides better amount of control without touching the branch. Patches where submitted via e-mail and in plain text directly to Dries. Soon community engagement will grow and raise drupal to where it is now.
  20. At the moment only site running on Drupal 1.0 was drop.org. Soon discussion about Drupal begin to take place here. Screenshot of drop.or from http://web.archive.org/web/20001206212200/http://www.drop.org/
  21. After just two months Drupal 2.0 was released on 15 March 2001. added translation / localization / internationalization support - famous t() still used today. However adding a new language requires you to edit configuration file and SQL database manually.
  22. From other features Drupal added: added fine-grained user permission (or group) system user_access() used in Drupal 7 added "user ratings" similar to SlashCode's karma or Scoop's mojo. This feature didn’t leave long Added sections for stories; this will later evolve in taxonomy There was also rewrote of comment/discussion feature
  23. Except for the logo UI of Drupal 2.0 didn’t changed too much there are some changes in admin part.
  24. Edit user account from admin. Many fields are still same in Drupal 7. We now see each user has User rating field.
  25. At the time first Drupal sites start to appear. This is Globalgreens.org screenshot from 2001 http://web.archive.org/web/20011130092407/http://globalgreens.org/ At the beggining all sites where similar to each other, main area was teaser of content; there where no custom frontpage, menu links where same (it wasn’t possible to change them), they had sidebards with boxes left/right mainly calendar, sections, etc...
  26. Screenshot from http://web.archive.org/ In the meantime discussions on drop.org began to trend toward the Drupal itself, and not about Internet technologies in general as it was imagined. Therefore Dries created “Drupal engine” section of the site.
  27. After 6 months of development Drupal 3.0 was released 15 Sep 2001. Everything is based on nodes. In first two versions of Drupal had concepts of stories and books in which to store content. This worked well when Drupal was mostly a system for community web sites like drop.org. As time passed and the system evolved more forms of content like stories, books, forums, diaries (what is now blogs) and more on the way. During the development of Drupal 3 a lot of similarities between the content were established. They all had titles, authors, date created,etc... This was all in common, but at that point stored in multiple locations and a lot of code was duplicated to make it work. At the same time Drupal was developing its modular system so it became natural to make a framework for content. Therefore a node was born around which all types of content will be based. This is the 3rd key success concept of Drupal. It wasn't until 10 years later with the rise of mobile that we started to see the web revolve less and less around pages.
  28. When you install Drupal 3.0 this is what you got. New theme and more links than in previous version!
  29. Admin side remained the same, only bunch of new links where added. This is administer permission page. Now you could add roles and assign permission to each role. This interface is same as in todays Drupal.
  30. Lets see how a typical Drupal 3.0 site looked at the time. Voidstar someones personal blog. Similar to drop.org
  31. Screenshot from http://web.archive.org/web/20020122183251/http://www.drupal.org/ Shortly after Drupal 3.0 was released, Dries decided to provide a place for all of the specifically Drupal-related activity that had been overwhelming the drop.org site, and so drupal.org was born December 2001.
  32. Drupal continued to evolve quietly until early 2002, when Dries initiated a relationship with Jeremy Andrews, owner of kerneltrap.org a very popular news site reporting about Linux, would periodically go down under an onslaught of traffic. Dries suggested Drupal as an alternative to PHP-Nuke.
  33. Feb.2002 was converted to Drupal 3.0.2. This relationship proved to be success. Jeremy became one of top Drupal contributor. For his site he wrote Throttle module which will later be included in core. But more importantly he reported on his early conversion to work with Drupal on kerneltrap.org which opened the eyes of many other people in the technical world, gaining more and more popularity to Drupal.
  34. In the June of the same year, after 9 months of development we got Drupal 4.0 “Drupal is now really a platform for any type of web application as users can easily extend it and modify it to better fit their needs.” Drupal PR Close to 100 major sites running Drupal With developers from all parts of Europe and the U.S., Drupal became an international open source project.
  35. New theme, no more Drop in logo, new 3D logotype. More menu items. Footer!
  36. As where introduction of nodes big change in Drupal 3.0, in 4.0 it was hierarchical tagging system of taxonomy.. Until now Drupal used metatags and attributes in meta.module to classify the content in a parent-child relationships, but those relationships aren't being used. There was a big discussion at https://www.drupal.org/node/55 which resulted in birth of taxonomy.module similar to the one used today. It had global taxonomy - a controlled vocabulary with a thesaurus user bookmarks: give users the ability to 'bookmark' or organize posts There where even ideas to implement automatic classification, could be idea for contrib module! It was at this point that Drupal started to more look like enterprise CMS
  37. This is how adding vocabulary looked like in Drupal 4.0. For each vocabulary you had to hierarchy type. You had to specify node types where you will be able to use it. Then when creating nodes you would get select list to select Taxonomy. This remained same until Drupal 7 replaced it with Term reference field.
  38. Admin interface remained the same but adding new content is more advanced. We got content revisions, more filters, teaser, navigation link, properties like promoted to frontpage, published/unpublished similar still used today.
  39. Modules can now be enabled/disabled throug UI, no more manually copy/delete from modules directory. each module implemented using hook_system() later to become .info or .info.yml file
  40. Lets see some of the Drupal 4.0 features that never lived long. XML-RPC support allows users to be identified with existing Drupal logins (even across sites) or Jabber or Yahoo logins. -this vision will become more popular with social networks like Facebook and their single sign in couple of years later. Blogger API support allowing Drupal to both be posted to and post with the Blogger API. Removed as of Drupal 7. Automatic notification to www.weblogs.com of changes to a user's blog, mmm not really.
  41. With version 4 it was decided to go with releases like 4.1, 4.2, etc…therefore on Feb 1st 2003 we got new version 4.1 Added profile.module: Finally you could extend registration page with additional fields like address, phone number, etc… However it was without UI, you had to hardcode list of fields in the module. added pager support -> pager_display() and db_query_pager() so you could easily create lists without having to implement your own pagination. First theming functions -> theme_invoke() later to become theme() now you could overwrite the output without hardcoding the module. Some other features include: Comment moderation, improved forums, improved statistics tracking, various performance improvements
  42. Drupal 4.1 also had some concepts that didn’t lived long Rating module is dead - as Drupal becomes more CMS system than message-board this feature becomes obsolete. Added Throttle module a congestion control throttling mechanism for automatically detecting a surge in incoming traffic. you might choose to disable pictures or blocks or modules when the site is too busy (reducing bandwidth). This was the contrib module that Jeremy wrote for kerneltrap.org As of Drupal 7, the Throttle module will be removed from core. here are other mechanisms available in D7 (e.g. aggressive anonymous page caching) that offer far better ways to prevent low-traffic websites being slash-dotted. And today servers are much more powerful than 10 years ago
  43. After 6 months of development 4.2 is released with focus on improving ease of use and administration. It included Clean URLs simple, easy to remember "clean URLs" First ideas leading to menu router no more individual php files like admin.php, node.php now everything goes through index.php with q param. This param is then passed to hook_page() of the module, where first param is module name. eg: node/view/{nid} would call node_page which would then handle other params
  44. From other features Support for extending Drupal with WYSIWYG editors Support for Microsoft SQL server. now Drupal supports 3 databases; and it ships with 3 different dumps. people are starting to discuss the ways to make database import as part of automated installation process. Node API which allows for better integration hook_nodeapi() Themes started to use "Xtemplate", a template driven theme engine instead of using custom made Theme() class.
  45. And in that same year during the summer, Interest in Drupal got a significant boost when it helped build "DeanSpace" for Howard Dean, one of the 2004 U.S. presidential election candidates. DeanSpace provided something like Drupal distribution, a preinstalled set of modules and content, which anyone could download and install his own Dean-site to promote the campaign. as campaign grew more and more, Drupal saw 300% increased activity on drupal.org in terms of content, modules, etc..
  46. DeanSpace website in 2004. As we see in footer it says Built on Drupal. This is where many people 1st time heard of it. Howard Dean didn’t get elected, and on July 23 2004 it was officially announced that the DeanSpace was dead. However Dean-volunteer Drupal developers turned Drupal to into a variety of non profit applications like CivicSpace. Later CS developers worked closely with Drupal developers to push the idea of Drupal distribution support instead of having hacked versions of Drupal. Eventually distributions were officially added as of Drupal 5.0.
  47. In the meantime Drupal was struggling between Drupal 4 versions. After only 3 months of development we got version 4.3 Focus has gone into improving user-friendliness, both to end-users and administrators URL alias good for SEO path.module still used in D8 Database prefixing so on shared hosting you could install multiple Drupal sites on 1 Database, tables would be seperated by prefix. Mass node operations publish/unpublish delete Breadcrumbs
  48. After 5 months of development we got release 4.4. added a file API: now its possible to upload attachments added fieldsets improved themability of Drupal made all theme functions start with 'theme_' easy to overwrite themable output As number of contributors are increasing we are getting more advanced modules, like ecommerce which is whole set of submodules to transform your Drupal into e-commerce site!
  49. Then after almost 7 months in development on 18.October 2004 Drupal 4.5 was released. Configurable menus made it possible to add, delete, rename and move menu items. hook_menu() probably one of most important hooks until D8 changed its architecture to use Symfony router. Tab based user interface introduced tabs and subtabs for local tasks. interface as we know today Multiple roles per user Customizable user profiles made it possible to add custom profile fields through UI
  50. Finally since Drupal 2.0 we are seeing some major improvements on translation managing translations is now completely done through the administration interface no more manually editing tables in SQL to add new language added support for importing/exporting gettext .po files
  51. We see new tab-based interface. Here is translation interface where you could add new languages, import, export po files and manage translations.
  52. Admin UI started to look more similar to todays. Admin and users now use same interface.
  53. On Feb 24, 2 months before Drupal 4.6 was released, Drupalistas gathered in Antwerp, Belgium which is now known as first Drupalcon. It was first official Drupal developer sprint. There where 15 attendees and because internet connection was usually not good, people would download whole Drupal contrib repository before coming to the conference. Today with over 30,000 modules this is almost impossible. Community grows and more Drupalcons and sprints are organized worldwide.
  54. After half year in development 4.6 saw its release on 15.April 2005 PHP5 support Multi-site support to run multiple Drupal sites from a single code base Personal contact forms for registered users Added an image API: enables better image handling image resizing, crop, scale using GD2 predecessor to imagestyle module in D7 Made the ping module ping pingomatic.com which, in turn, will ping all the major ping services -> not long lived
  55. At this time NASA used Drupal for one of its projects: appel.nasa.gov.
  56. More than five years, 300+ contrib modules, and 55,000+ Drupal powered sites later, Drupal 4.7.0 is finally here after year of development and it rocks! There have been over 300 contributors with over 1500 patches Major usability improvements and new Drupal core functionality. Later this year Views module is born
  57. Drupal 4.7 got lots of JS & AJAX. Ajax was started by Google with their Gmail app and was still relatively new technology. New Forms API: early version of today Form API, however rewriting Drupal's form handling from Drupal 4.6 broke hundreds of contributed modules. And it turned out that updating those modules was a much bigger effort than expected. It frustrated many users on drupal.org but eventually pay-off was huge and Drupal modules become more modular. This is the 4th point of Drupal success: Constant evolution and reinvention over backward compatibility
  58. Now modules can install database tables through its .install file using hook_install() table would be created using db_query() later to be replaced with Database schema API prior to this if module needed to install database tables, it would come with sql dump and instructions how to manually import it!
  59. There was big theme improvements in 4.7 Adrian Rossouw wrote PHPTemplate specifically for use with Drupal PHPTemplate uses individual tpl.php files to theme Drupal's theme_something() functions. and is an excellent choice for theming if you know a bit of PHP: with some basic PHP snippets, you can create advanced themes easily. Xtemplate engine was removed Existing core themes ported to PHPTemplate PHPTemplate was used until Drupal 8 when it was replaced by Twig. From other theme improvements we got multiple theme-specific Block Regions, until now there where only sidebar left/right.
  60. More and more popular sites start to use Drupal. Mtv.co.uk, Playstation Asia, Hillary Clinton screenshots from http://buytaert.net/tag/drupal-sites?page=44
  61. After more than 8 months of development Drupal 5.0 is released on Drupal's 6th birthday. Drupal 4.0 was released in 2002 and finally community feel confident to increase the major version number from 4 to 5. Almost 500 contributors to the Drupal 5.0 release submitting over 1100 patches Over 2500 contributed modules
  62. Web-based installer: no more manual import of sql dump checks run-time requirements Reorganized module directory structure modules are not anymore a single PHP file, now they have their own directory structure (info, module, install, and other resources like css, js, etc…) core and contrib modules are not mixed together in same directory anymore Module dependencies with introduction of .info file now each module can declare dependency. This is where Drupal becomes like building LEGO bricks,where each module contains small part of functionality and together they build a feature, instead of where each module defines its own feature incompatible with other modules (like plugins in WP)
  63. Pluggable cache backends can plugin alternative cache backends. use file caching, memcached or other cache strategies instead of the default database caching. jQuery Drupal was early adopter. Today jQuery is used on more than 60% of top million websites. Custom content types: core now includes part of the Content Construction Kit and allows you to set up arbitrary types out of the box. For more fields, install the full CCK package from the contributions repository. Added support for Drupal distributions like CivicSpace Distributions allow people to create ready-made downloadable packages with their own focus and vision.
  64. From theme improvements we got Garland, it is still my favorite theme, even in Drupal 7! Color module was cool feature but I don’t think its being used much. CSS compression, makes site faster.
  65. Drupal 5.0 new Garland theme and reworked admin interface.
  66. With this release we are seeing more and more Fortune 500 companies using Drupal. Warner, Yahoo, OpenOffice, Fox, etc...
  67. After 13 months of development Drupal 6.0 was released. Major improvements in all areas Reached EOL recently (24 Feb 2016) Still estimated of 120,000 websites are using Drupal 6 Over 7000 contributed modules and 600 custom themes Friendlier installer Drag-and-drop administration available for menu items, forums, taxonomy terms, uploaded files, input formats, profile fields, and more. Drupal's menu system has been rewritten from scratch, making it much more efficient and powerful. Improved security update module to notify about new releases
  68. Oct 2009 whitehouse.gov launched on Drupal 6, which was a huge milestone where people started to feel Drupal is a secure CMS, since WhiteHouse had strict security audits in chosing their CMS. Screenshot from http://web.archive.org/web/20091031110021/http://www.whitehouse.gov/
  69. 10 years after 1st Drupal was released we got 7.0 version the best work yet. Drupal is now used for building any kind of website from blogs and microsites to enterprise level systems. 11000+ contrib modules, 600+ themes & 200+ distributions We got architecture switch from node to entity, Everything is entity Content types Taxonomy Users Custom entity types This allow us to have same interface where we can add and manage fields to everything not just nodes. Now it’s all about web apps
  70. Now its possible to build web apps like Gosend which is a mini-ERP system for warehouse management, B2B portal for retailers, and a client portal with interactive apps like Shipping calculator. It uses Drupal7 in its full power together with Drupal Commerce and over 300 contributed and 30 custom modules and all cached to work seamlessly for thousands of users. This is our largest projects, and it took over 1500 man days in 21 sprints, but would take much more without Drupal 7!
  71. On 19.November 2015 after almost 5 years of development Drupal 8 is released. There where over 150 release parties all over the world. This is how we celebrated it in office. Drupal 8 has over 200 new features and improvements, like Symfony in core and major architectural changes. I won’t talk about it here, go and see one of other sessions to learn more new exciting features!
  72. Starting with Drupal 8.0, Drupal core releases will move to a new release cycle schedule, and begin using the semantic versioning (semver) numbering system. Scheduled minor releases (8.1, 8.2) will be released approximately every 6 months, and will incorporate new features. 20.4.2016 - Drupal 8.1 Drupal 9.0 will be 8.x but without backward compatibility
  73. And for the end lets see how Drupal grow over time. At beggining there where 18 modules, this steadily growed. Drupal 5.0 had some cleanups. Drupal 8 has triple the number of modules from Drupal 1.0
  74. How number of database tables evolved. Drupal 1 had only 15 tables, with 3.0 it grow to almost 40, 5.0 had some cleanups so it fallen down. Drupal 7.0 holds record with 74, then 8.0 has 66.
  75. Lets see how long it took between major releases. Two months between 1.0 to 2.0 is record, this number grew. 4.x releases had shorter cycles with exception of 4.7 which took more than year.
  76. And now when we add development times of Drupal 7 and 8 we see how all development times of prior versions look insiginificant. Time in developing Drupal 7 and 8 together, took more than all previous 13 releases together! Hopefuly with this you will get the scope of how large is Drupal 8.0 and how much it has evolved over the time.
  77. Thank you for listening, you can get my slides from http://websolutions.hr/drupal-history There you will also find links to the GitHub where you can browse and download old releases including Drupal 1.0. Stay tuned for upcoming series of blog posts about Drupal history. Next post will be about Evolution of Form API Follow us on @WEBSOLUTIONSHR