i use drupal / 我是 OO 師,我用 drupal

51
我是 O O 師,我用 DRUPAL All you need is Drupal By Chris

Upload: amouro

Post on 08-May-2015

2.156 views

Category:

Technology


1 download

DESCRIPTION

從設計,工程,到系統的各種角度,分享使用 Drupal 的經驗。

TRANSCRIPT

Page 1: I use drupal / 我是 OO 師,我用 Drupal

我是 O O 師,我用 DRUPAL

All you need is Drupal By Chris

Page 2: I use drupal / 我是 OO 師,我用 Drupal

吳政斌 Chris Senior Drupal Developer Fliegen Creative Studio DrupalTaiwan.org Designer F2E CMS Builder WebAdmin Chocolate Design chris @ laconique.com.tw amouro @ gmail.com fb.com/amourow

Page 3: I use drupal / 我是 OO 師,我用 Drupal

吳政斌 Chris Senior Drupal Developer Fliegen Creative Studio DrupalTaiwan.org Designer F2E CMS Builder WebAdmin Chocolate Design chris @ laconique.com.tw amouro @ gmail.com fb.com/amourow

Page 4: I use drupal / 我是 OO 師,我用 Drupal
Page 5: I use drupal / 我是 OO 師,我用 Drupal
Page 6: I use drupal / 我是 OO 師,我用 Drupal

吳政斌 Chris Senior Drupal Developer Fliegen Creative Studio DrupalTaiwan.org Designer F2E CMS Builder WebAdmin Chocolate Design chris @ laconique.com.tw amouro @ gmail.com fb.com/amourow

Page 7: I use drupal / 我是 OO 師,我用 Drupal
Page 8: I use drupal / 我是 OO 師,我用 Drupal

Drupal

?

http://www.flickr.com/photos/efe6/

Page 9: I use drupal / 我是 OO 師,我用 Drupal
Page 10: I use drupal / 我是 OO 師,我用 Drupal
Page 11: I use drupal / 我是 OO 師,我用 Drupal
Page 12: I use drupal / 我是 OO 師,我用 Drupal
Page 13: I use drupal / 我是 OO 師,我用 Drupal
Page 14: I use drupal / 我是 OO 師,我用 Drupal
Page 15: I use drupal / 我是 OO 師,我用 Drupal
Page 16: I use drupal / 我是 OO 師,我用 Drupal
Page 17: I use drupal / 我是 OO 師,我用 Drupal

@Webchick / Angela Byron the first women on Linux journal that makes Linux history

Page 18: I use drupal / 我是 OO 師,我用 Drupal

? Design | FrontEnd | Backend

Page 19: I use drupal / 我是 OO 師,我用 Drupal

?

As a Designer

Page 20: I use drupal / 我是 OO 師,我用 Drupal

THEME

•  Basetheme

•  Frameworks

Page 21: I use drupal / 我是 OO 師,我用 Drupal

DRUPAL AWARE DESIGN

•  有效的運用區域 •  運用預設的 Class

Page 22: I use drupal / 我是 OO 師,我用 Drupal

THEME SETTING

Page 23: I use drupal / 我是 OO 師,我用 Drupal

BLOCK

Page 24: I use drupal / 我是 OO 師,我用 Drupal

BLOCK

Page 25: I use drupal / 我是 OO 師,我用 Drupal

D7UX

•  Our UX Principles: 1.  Make the most frequent tasks easy and less

frequent tasks achievable. 2.  Design for the 80% 3.  Privilege the Content Creator 4.  Make the default settings smart

Page 26: I use drupal / 我是 OO 師,我用 Drupal

DEV TOOLS

•  Firebug, Chrome DevTools

Page 27: I use drupal / 我是 OO 師,我用 Drupal

THEME SETTING

•  Add CSS in .info – stylesheets[all][] = style.css – stylesheets[all][] = reset.css

•  Customize tpl.php

Page 28: I use drupal / 我是 OO 師,我用 Drupal

?

As a Programmer

Page 29: I use drupal / 我是 OO 師,我用 Drupal

WORKING WITH JS

•  jQuery 1.4.4 in D7 – 1.5.1, 1.7.1, 1.8.2 (jQuery update)

•  Add JavaScript in .info – scripts[] = respond.js – scripts[] = foo.js

•  API – drupal_add_js()

drupal_add_js(drupal_get_path('theme', 'example'). '/foo.js', $options);

Page 30: I use drupal / 我是 OO 師,我用 Drupal

QUERY WITH VIEWS

Page 31: I use drupal / 我是 OO 師,我用 Drupal

QUERY WITH VIEWS

Page 32: I use drupal / 我是 OO 師,我用 Drupal

QUERY WITH VIEWS

Page 33: I use drupal / 我是 OO 師,我用 Drupal

MODULES

•  Slider – Views slideshow – Nivo slider – Galleria – Image Flow – jCarousel – 3D Views Carousel

Page 34: I use drupal / 我是 OO 師,我用 Drupal

VIEWS + VIEWS SLIDESHOW

Page 35: I use drupal / 我是 OO 師,我用 Drupal

VIEWS + IMAGE FLOW

Page 36: I use drupal / 我是 OO 師,我用 Drupal

FIELD WIDGET

Page 37: I use drupal / 我是 OO 師,我用 Drupal

HOOKS API

•  Creating a new node – hook_node_presave() – hook_node_insert()

•  Updating •  Validating

– hook_validate()

Page 38: I use drupal / 我是 OO 師,我用 Drupal

HOOKS API

•  hook_node_view

Page 39: I use drupal / 我是 OO 師,我用 Drupal

HOOKS API

•  hook_form_alter

Page 40: I use drupal / 我是 OO 師,我用 Drupal

DATABASE

•  Database abstraction layer – Built on top of the PDO library. – Different driver for each db type

•  MySQL, PostgresSQL, SQLite, MongoDB*, SQL Server*

<?php // Create an object of type SelectQuery and directly // add extra detail to this query object: a condition, fields and a range $query = db_select('users', 'u') ->condition('u.uid', 0, '<>') ->fields('u', array('uid', 'name', 'status', 'created', 'access')) ->range(0, 50); ?>

Page 41: I use drupal / 我是 OO 師,我用 Drupal

?

As a WebAdmin

Page 42: I use drupal / 我是 OO 師,我用 Drupal

PERFORMANCE IN CORE

•  Database cache •  Aggregation

– CSS – JS

Page 43: I use drupal / 我是 OO 師,我用 Drupal

CDN

•  Domain mapping •  File Conveyor

– AWS S3 – CloudFront

Page 44: I use drupal / 我是 OO 師,我用 Drupal

APC

•  Store opcode for php

Page 45: I use drupal / 我是 OO 師,我用 Drupal

MEMCACHE

•  Move db cache to memory – https://drupal.org/project/memcache – https://drupal.org/project/memcache_storage

Page 46: I use drupal / 我是 OO 師,我用 Drupal

BOOST

•  Static page cache for Anonymous

Page 47: I use drupal / 我是 OO 師,我用 Drupal

VARNISH

•  Reverse proxy – https://drupal.org/project/varnish

Page 48: I use drupal / 我是 OO 師,我用 Drupal

INTEGRATION

•  APC – cache – cache_bootstrap

•  Memcache – cache_field – cache_menu – …

•  DB – cache_filter

•  Varnish – Static page

Page 49: I use drupal / 我是 OO 師,我用 Drupal

THE MOST GEEKY CMS

•  Shell Command! •  Drush = Drupal Shell Command

– Ref. http://2013.drupalcamp.tw/session/99

•  > druah status

Page 50: I use drupal / 我是 OO 師,我用 Drupal

THE MOST GEEKY CMS

> drush dl superfish views jquery_update > drush en –y superfish > drush mb foo_module --write --name=“Foo” –dep=“views”

Page 51: I use drupal / 我是 OO 師,我用 Drupal

Chris Wu 吳政斌 chris @ laconique.com.tw amouro @ gmail.com fb.com/amourow