Drupal
still a good choice for building website?
用Drupal架站,仍是個好選擇?
Jimmy
Best open source choice of my life
- Jimmy Huang
收工回家
當然沒這麼簡單放我走...
Bossie Awards 2012:
The best open source applications
If WordPress is what Web designers choose,
Drupal is what Web developers choose.
- Andrew Oliver
Drupal Showcase by NETivism
我(們)用Drupal做了哪些事情?
please press the down arrow
▼
Multi-Language Sites
多語網站
One-to-many sub site
單一CMS - 子網站
Forum / Community Website
討論區 / 社群參與網站
EC/Shopping Cart
購物網站
Stackoverflow like Website
問答社群
News Portal / Videos Portal
新聞網站/影音網站
Enterprise Information Portal
企業內部入口
Crown Founding(Kickstarter Like)
群眾募資網站
Food traceability system
生產履歷系統
CRM / Event Register
活動報名/捐款/內部CRM (with CiviCRM)
Congress data info
國會監督(?)
Mobile Content Backend
手機內容儲存
Top 6 reasons Drupal really sucks
猜猜看這篇文章有多少回應?
- Drupal Developers
- Caching
- Abandoned modules
- Version wars
- It's PHP
- Drupal is a total memory hog
Top 6 Reasons that Drupal Rocks
立刻有人寫了一篇文章回應(一整個看熱鬧..)
- The Actual Developers
- Regular, easy-to-install themes, modules
- Modules
- Content Management
- It's PHP
- Customization
XYZ Sucks!!!
我最喜歡做實驗了!
- Wordpress sucks
- Joomla Sucks
- Ruby Sucks
- Nodejs Sucks
- PHP Sucks
- ___ ← [you can join these hater here]
Or fall in love with deeply used
I Love Drupal, because
- Drupal讓我認識很多好友
- 甚至是志同道合的創業Partner
- Drupal讓我成長
- 在變化超快的Web世界中
- Drupal讓我有能力達陣
- 在無盡的需求中,Drupal總是有辦法拼出來
I Love Drupal
So I'm here
to tell why you can try to with us.
Scalability
of Drupal
for those system engineer who care about performance
please press the down arrow
▼
Build-in Master-Slave support
Setup master-slave support in 30 seconds.
$databases['default']['master'] = array ( 'database' => 'mydatabase', 'username' => 'readwrite', 'password' => 'readwrite', 'host' => 'master', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ); $databases['default']['slave'][] = array (
'readonly' => TRUE, 'database' => 'mydatabase', 'username' => 'readonly', 'password' => 'readonly', 'host' => 'slave1', 'port' => '', 'driver' => 'mysql', 'prefix' => '', );
Centralized Session Management
- Store session in Database(default)
- Store session in Memcached(3-party)
Load Balancer and Reversed Proxy Friendly
CDN Support (3-party)
- Akamai support (module)
- Other CDN support (module)
- File syncronize (drush module)
source - http://www.wedia.gr
WhiteHouse.gov System Tiers
Tiers:
- Linux
- virtulalized cloud hosting environment
- redhat enterprise linux
- hardened to NSA guidelines (published document we can download)
- SELinux &* AIDE enabled
- Puppet
- provides data center automation
- recipe/model driven framework for managing servers
- ensures consistency, repeatability, and compliance
- every server can come out identical to the other (all database servers the same, all web servers the same)
- CDN
- content delivery network
- great things, they get hit by the firehose for you
- Akamai Site Accelerator, NetStorage & LiveStream
- Tight Drupal integration with Cache Control Utility
- Automatic Purging of modified nodes (and aliases)
- Over 90% Offload of origin traffic (goes to Akamai instead of WhiteHouse servers)
- Web
- Dedicated Private Edit Servers
- All administrative functions are on private servers, NOT on front-end servers
- Load balanced horizontal scaling
- Drupal
- Core Drupal 6
- Various community / pressflow patches
- supports database replication
- full read/write splitting
- shared filesystem
- Cache
- Memcached & Drupal Memcache API module
- cluster of memcached servers
- consistent hashing strategy supports node failures
- Search
- Apache Solr
- DB
- MySQL Enterprise / InnoDB
- RAM Filesystem for Temp Tables
- Performance Optimizations++
- Caches, Buffers, Replication
- Replication Heirarchy
- Drupal DB Replication support
- Splitting of Reads and Writes
- Master (active) / Master (passive) replication
- Master (passive) / Slave replication
- Scale slaves for read-only traffic
Methodology
of Drupal
for site builders
▼
How to build site for this?
Building website like a Drupaler
1. Data Design
- Add a content type "Case Study"
- Add fields in Case Study
- Image
- Textfield
- Textarea
- Tag / Category
- More text area or field
- Install modules for more field
- Map、Address、Video
- Fields for Everything (User, Category)
- Install editor
- Prepare test content
2. Config Page and modules
Create page layout using Panels
3.1 Generate "Block", put into pane
Views can generate almost any type of block:
- build waterfall like block
- build slideshow block
- build image gallery block
- and more than that ...
or Build your own block:
- adSense block
- Like button block
- Facebook like box block
- search yourself
3.2 Menu Config (Navigation)
- Pick articles to the top nav
- Setup panel page to the nav
- Setup view page to the nav
4. Users, Roles, Permission
5. Theme and Styling
- Warning
- can't Buy then Apply (Wordpress / Joomla does good)
- always need get your hand dirty in Drupal
- needs "front-end developer", not just designer
- Choose a Starter Theme
- blank white goods
- Follow instructions
- Stylize everything in CSS
- page
- content
- block
Panels
Views
Menu
Block
Flexibility not only on the page tools
Also in API
- You can trigger Drupal event anytime
- User add, update, registered
- Article add, update, view, registered
- Form generate, validate, submit ..
- ... read more at hook
Trigger event at UI(rules)
Now you can understand why Drupal is
what Web developers choose.
Community
of Drupal
for still try to find good reasons
▼
Drupal in Taiwan
Drupalcamp Taipei (2012)
Founder of Drupal "Dries" on the screen
Drupalcamp Hackthon
for open street map tw / ubuntu taiwan
Drupaltaiwan.org
- Why?
- Chinese translations
- Support / forum / discuss
- For local meetup
- From 2006 ~
- monthly meetup!
-
yearly camp (drupalcamp is conference)
- 8,188 registered member of drupaltaiwan
- Chinese translations
- Support / forum / discuss
- For local meetup
- monthly meetup!
- yearly camp (drupalcamp is conference)
- 8,188 registered member of drupaltaiwan
Drupaltaiwan.org (2006)
Drupaltaiwan.org (now)
Analytics Drupal Taiwan (2006~2012)
Analytics Drupal Taiwan (2006~2012)
Drupal in Universe
"Real" Drupaler
2 Drupalcon in every year (2010 drupalcon sf)
Many Drupalcamp over the world
Drupal Eco-system -from phase2
Modules Growth (source)
106 Top modules
Distributions
Drupal for Government - open public
Drupal for Church - open church
Drupal for Internal Portal - Open Atrium
Drupal for Scholar- OpenScholar
Drupal for Business- Commerce Kickstart
Meaning of this?
And this?
Or this?
Diversity
Diversity toward Evolution
- Multi-language CMS? - needs diversity
- Right-to-left language? - needs diversity
- Character support? - needs diversity
- Better and strong core? - needs diversity
Groups.drupal.org (top group list on drupal)
Collaboration
Centralized Code Server
Commit everything to git.drupal.org
Third Party Module, too!
What is the license for Drupal? GNU GPL everything
Drupal and all contributed files hosted on Drupal.org are licensed under the GNU General Public License, version 2 or later. That means you are free to download, reuse, modify, and distribute any files hosted in Drupal.org's Git repositories under the terms of either the GPL version 2 or version 3, and to run Drupal in combination with any code with any license that is compatible with either versions 2 or 3, such as the Affero General Public License (AGPL) version 3.
drupal.org build-in Module Statistics
drupal.org build-in Issue Tracker
Centralized Translation Community
- 109 translation groups (language)
- 4,865 contributors
- 10,508 projects managed
- 48,158 releases parsed (4 in queue)
- 5,053,543 files scanned
- 463,408 strings to translate
- 1,036,783 translations recorded
- 289,974 suggestions awaiting approval
Oepn and Friendly
Community Guide - from deeson-online
Free tutorial everywhere
Most people share these not only for business
- [book] Master Drupal in 7 hours ebook - link
- [video] Drupal Love - link
- [web] Drupal Tutorial How to Use Drupal - link
- ... search more
And one last thing...
Evolution
of Drupal
for doesn't believe CMS better than one-man power
▼
Drupal 0 ~8 development visualising
Drupal 5 (2007)
- "Content Type" in core
-
jQuery in core
-
Form API
- CSS compression
- CCK invented
- Views invented
- Webform invented
- Token invented
- Imagecache invented
- Drush invented
- Rules invented
Drupal 6 (2008)
- New Template engine
- Support OpenID
- Actions Trigger in core
- New Batch and Schema API
- Right to left language
- Reversed proxy supported
-
Rules invented
- Apachesolr supported
- Services invented (for mobile)
- Rules 3 - extremely great
- Webform 3 - extremely great
Drupal 7 (2011)
- New Database abstract layer
- CCK in core - Entity API
- Imagecache in core
- Token in core
- RDF support
- Support PHP 5.3
- Usability improve
- Views 3 (extremely great version)
- Drush 5 - command line power
- Media invented
Drupal 8 (2014)
- Symfony2 in core (rails like framework)
- RESTful in core (services in 7)
- Views in core (finally..)
- Deploy support
- RWD support in core
- Twig template engine in core
- Inline-editing
What I've seen?
-
Open mind to take risk on new technology
- Long-stand 3-party module rocks
- Community oriented evolution, decision
That's why I love organic Drupal.
Why you should using Drupal?
By Jimmy Huang
Why you should using Drupal?
- 10,713