54
NODE 101 The ABC's of Drupal

Node 101 NYC Camp

Embed Size (px)

DESCRIPTION

Node 101 session on day 1 of NYC Camp, ("boot camp"). In this session we started with a high level view of Drupal and web technologies, and covered how Drupal works, and best practices for Drupal development.

Citation preview

Page 1: Node 101 NYC  Camp

NODE 101

The ABC's of Drupal

Page 2: Node 101 NYC  Camp

Amnesty InternationalEclipseEconomistForbesFedExThe Grammies MTVMartha Stewart LivingNew York Stock ExchangeNBCPBS Engage Sony EntertainmentTwitter (dev.twitter.com)Java.net (home.java.net) UbuntuPlaystationWarner BrothersWhitehouse.govYahoo! Research

Page 3: Node 101 NYC  Camp
Page 4: Node 101 NYC  Camp
Page 5: Node 101 NYC  Camp

A S S U M P T I O N S

Page 6: Node 101 NYC  Camp

B E Y O N D

T H E

Page 7: Node 101 NYC  Camp
Page 8: Node 101 NYC  Camp
Page 9: Node 101 NYC  Camp
Page 10: Node 101 NYC  Camp
Page 11: Node 101 NYC  Camp
Page 12: Node 101 NYC  Camp
Page 13: Node 101 NYC  Camp

What's aNode?

Page 14: Node 101 NYC  Camp
Page 15: Node 101 NYC  Camp

RequestCallbackHookThemeResponse

Page 16: Node 101 NYC  Camp

INSTALLATION

(You need one of these.)

Page 17: Node 101 NYC  Camp

INSTALLATION

DownloadCreate DbFix PermsRun Install

Page 18: Node 101 NYC  Camp

git clone --branch 7.x git://git.drupal.org/project/drupal.git ./

Page 19: Node 101 NYC  Camp

EVEN BETTER:

$ drush dl drupal

Page 20: Node 101 NYC  Camp

EVEN BETTER:

$ drush dl drupal

$ pear install drush

Page 21: Node 101 NYC  Camp

EVEN BETTER:

$ drush dl drupal

$ pear install drush

$ yum install php-pear

Page 22: Node 101 NYC  Camp

EVEN BETTER:

$ drush dl drupal

$ drush site-install standard --db-url=mysql://username:pass@localhost/databasename

Page 23: Node 101 NYC  Camp

INSTALLER

Page 24: Node 101 NYC  Camp

INSTALLER

Page 25: Node 101 NYC  Camp

INSTALLER

Page 26: Node 101 NYC  Camp
Page 27: Node 101 NYC  Camp

FieldFilterNode UserSystemTaxonomyWatchdog

Page 28: Node 101 NYC  Camp

CONFIGURATION

ContentUsersMenuData ModelViews

Page 29: Node 101 NYC  Camp

Content, Content Types & Field API

Class constructor for Drupal

Shared field definitions

Multiple inheritance

Provides custom content types

Page 30: Node 101 NYC  Camp

UsersPermissionsRoles

Page 31: Node 101 NYC  Camp

SITE BUILDING

CoreOptionalContrib

Page 32: Node 101 NYC  Camp

CoreOptionalContrib

SITE BUILDING

Page 33: Node 101 NYC  Camp

OUT OF THE BOX:

BlogCommentsForumLoggingProfilesPollRSS SearchStatisticsTranslationFile Management

Page 34: Node 101 NYC  Camp

CoreOptionalContrib

SITE BUILDING

Page 35: Node 101 NYC  Camp

DON'T PUT THEMES IN THE THEMES FOLDER

DON'T PUT MODULES IN THE MODULES FOLDER

Page 36: Node 101 NYC  Camp

“There's a module for that”

Page 37: Node 101 NYC  Camp
Page 38: Node 101 NYC  Camp

DEVELOPMENT: When there's not a module for that.

CoreOptionalContribCustom

Page 39: Node 101 NYC  Camp
Page 40: Node 101 NYC  Camp

(THEMING)(THEMING)

Page 41: Node 101 NYC  Camp

CONGRATULATIONS!

YOU DONT SUCK.

(ANYMORE)

Page 42: Node 101 NYC  Camp

DRUPAL DEVELOPMENT

BEST PRACTICES

Page 43: Node 101 NYC  Camp

Set up your Drupal Set up your local Development Environment

*AMP IDE

Page 44: Node 101 NYC  Camp

USE VERSION CONTROL(Or Crell will stab you.)

Page 45: Node 101 NYC  Camp

Set up your Drupal Set up Git access on Drupal.org

Page 46: Node 101 NYC  Camp

Set up your Drupal Set up Git access on Drupal.org

Page 47: Node 101 NYC  Camp

“Using Git for web development is like Shopping for groceries in a Ferrari”

Page 48: Node 101 NYC  Camp

DON'T.HACK.CORE.

Page 49: Node 101 NYC  Camp
Page 50: Node 101 NYC  Camp
Page 51: Node 101 NYC  Camp

Set up your Drupal Bug Reportinghttp://drupal.org/project/issues/date

Page 52: Node 101 NYC  Camp

Set up your Drupal IRCirc.freenode.net

Page 53: Node 101 NYC  Camp

Set up your Drupal IRCirc.freenode.net

#Drupal#Drupal-Contribute#Drupal-Design#Drupal-HTML5#Drupal-Infrastructure#Drupal-NewYork#Drupal-OpenMedia#Drupal-SEO#Drupal-Support#Drupal-Views & many more...

Page 54: Node 101 NYC  Camp