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


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



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

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

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:

  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 BusinessCommerce 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



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.


Why you should using Drupal?

By Jimmy Huang

Why you should using Drupal?

  • 10,466