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    




source


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

猜猜看這篇文章有多少回應?

  1. Drupal Developers
  2. Caching
  3. Abandoned modules
  4. Version wars
  5. It's PHP
  6. Drupal is a total memory hog


source

Top 6 Reasons that Drupal Rocks

立刻有人寫了一篇文章回應(一整個看熱鬧..)

  1. The Actual Developers
  2. Regular, easy-to-install themes, modules
  3. Modules
  4. Content Management
  5. It's PHP
  6. Customization


source

XYZ Sucks!!!

我最喜歡做實驗了!

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' => '',
);
source

Centralized Session Management


  • Store session in Database(default)
  • Store session in Memcached(3-party)

Load Balancer and Reversed Proxy Friendly

CDN Support (3-party)



source - http://www.wedia.gr

WhiteHouse.gov System Tiers

Scalable Infrstructure for Whitehouse.gov
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


source

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:

  or Build your own block:



3.2 Menu Config (Navigation)


  • Pick articles to the top nav
  • Setup panel page to the nav
  • Setup view page to the nav

  • Config footer menu
  • Config logged user menu

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

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?


source

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



commiter cloud of Drupal 7

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.


Made with Slides.com