SlideShare a Scribd company logo
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Drupal as
a Data Purveyor
Layering Drupal with emerging technologies to create a
performant, scalable data purveyor.
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
ASTONISH DESIGN
C H A N G E G A M E
Diana Montalion Dupuis
@dianadupuis
Sam Heuck
@samheuck
Andrew Elster
@filmknurd
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
ASTONISH DESIGN
C H A N G E G A M E
We have a new website: astonishdesign.com
@Astonish_Design
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
An open-source content management PHP/MySQL framework designed
for rapid development of content-rich web applications.
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Reasons (among many)
• Growth: evolving tool
• Foundation skill set
• User features
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
http://jdhancock.com/ • JD Hancock• http://farm9.staticflickr.com/8322/8031897271_9c63e48a29_b.jpg
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
“Big” Data
"Big" in relation to the amount
of content Drupal is designed
to manage
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Volume
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Velocity
BIKE WALLS• http://www.bikewalls.com
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Variety
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Content
•Every kind of data
•Coming from everywhere
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Current Issues
•Bootstrapping
•Bottlenecks - Normalized - Join Happy
•Lack of solution architecture
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Views
Rapid
Development
Platform
Visitors
& Content
Authors
Miners
Who is the user?
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Welcome to the future
When modularizing the architecture creates performant applications for
all content and all users.
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Traditional Optimizations
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Duplicate
Data
Rapid
Development
Platform
API
Denormalized
Document Storage for READS
Normalized
Relational for WRITES
Data Mining
Content & Data
Creation
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Cost of Bootstrap
• Hooks allow modules to
customize behavior
• Drupal calls hooks during each
stage of bootstrap
• More modules, more hooks
called, slower bootstrap
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Massive Callstacks
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Bootstrap on Every Request
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Views
Rapid
Development
Platform
Visitors
& Content
Authors
Miners
Backbone.js
Twisted
JS
Photon
Vert.x
Celluloid::IO
PYTHON
PHP
JAVA
RUBY
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Views
Rapid
Development
Platform
Visitors
& Content
Authors
Miners
Backbone.js
Twisted
JS
Photon
Vert.x
Celluloid::IO
PYTHON
PHP
JAVA
RUBY
Sources
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
API and Node.JS
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Why Proxy External Sources?
OK
your.domai
GET
OK
other.domain
OPTION
Yes
GET
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
RESTful
RobertTadlock • http://www.flickr.com/photos/rtadlock/2716877199/
http://apigee.com/about/api-best-practices Since you are building the API, you
can make it any way you want, but
following some good basic REST
conventions is a good idea.

It will make it easier to integrate
with front end frameworks.
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Pick a Framework
Express or Restify
•http://expressjs.com
•http://mcavage.github.com/node-restify
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Pick a Connector
Tony Hisgett • http://www.flickr.com/photos/hisgett/
http://mongoosejs.com/
Mongoose
Alternatives
•Mongolia
•Mongo Skin
•Native MongoDB Driver
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Example
Express & Mongoose
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Create a Resource
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Create an Endpoint
http://domain/resources
{ [
{
“someField”: “blah blah blah”
“anotherField”: 2
}
...
] }
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
On the Front-end
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Views
Rapid
Development
Platform
Visitors
& Content
Authors
Miners
Backbone.js
Twisted
JS
Photon
Vert.x
Celluloid::IO
PYTHON
PHP
JAVA
RUBY
Sources
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Isn’t JS Slow?
Yes but....

1. JS and devices continue to improve

2. We've improved the overall round
trip: faster data, smaller payload, no
bootstrap. It's still faster overall.
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Organize Your Code
On the front-end, you could write everything
as AJAX calls and jQuery DOM manipulation,
but that will get messy very quickly as your
application grows in sophistication.

In the interests of maintainability and sanity,
use a framework that organizes your code and
abstracts away the DOM. There are many to
choose from. A new one probably came out
this morning.
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
We use Ember because it is straightforward
to use, powerful, flexible, and still fairly light
weight. Backbone has been around for a
while and is quite nice, but we like how
Ember handles garbage collection and the
other goodies it ships with.
What Why How
http://www.emberjs.com Why Discourse Uses Ember •Official Guides
•Resources
•Fire Up Ember
•Ember Camp
•DarthdeusV. Ember
•
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Results from
Rich Snippets
For Algebraix, all the data comes from an
external source, so it makes sense to run the
application on the client side, as opposed to
importing the data into Drupal first. 

It also makes the control panel feel more
responsive. No more click and hope while
waiting for the interface to receive data. Now
we've created a conversation with the user.
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Essential question ...
Why use Drupal?
Don’t use Drupal if you don’t need it.
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
The role of the themer
Front engineer
ASTONISH DESIGN
C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Questions?

More Related Content

Viewers also liked

24-7 culture code
24-7 culture code24-7 culture code
24-7 culture code
24-7 inc.
 
Parcial
ParcialParcial
CV
CVCV
La web
La webLa web
Solution to Student's suicide problem
Solution to Student's suicide problem  Solution to Student's suicide problem
Solution to Student's suicide problem
Arun Gupta
 
Intel® Xeon® processor E7-8800/4800 v3 Application Showcase
Intel® Xeon® processor E7-8800/4800 v3 Application ShowcaseIntel® Xeon® processor E7-8800/4800 v3 Application Showcase
Intel® Xeon® processor E7-8800/4800 v3 Application Showcase
Intel IT Center
 
Socrates kenya.org
Socrates kenya.orgSocrates kenya.org
Socrates kenya.org
csdtesting
 
Trabajo de diapositivas pereyra y alvez
Trabajo de diapositivas pereyra y alvezTrabajo de diapositivas pereyra y alvez
Trabajo de diapositivas pereyra y alvez
julietachocobar
 
[Guide] The Best Introduction to Health Savings Accounts
[Guide] The Best Introduction to Health Savings Accounts[Guide] The Best Introduction to Health Savings Accounts
[Guide] The Best Introduction to Health Savings Accounts
benefitexpress
 
Leveraging Social Media - CAGP 2 27-2012
Leveraging Social Media - CAGP 2 27-2012Leveraging Social Media - CAGP 2 27-2012
Leveraging Social Media - CAGP 2 27-2012
Lee Yount
 
杜拜..有什麼做不到的..
杜拜..有什麼做不到的..杜拜..有什麼做不到的..
杜拜..有什麼做不到的..
honan4108
 
Agile lean workshop
Agile lean workshopAgile lean workshop
Agile lean workshop
Jesse Wang
 
新生利用图书馆讲座
新生利用图书馆讲座新生利用图书馆讲座
新生利用图书馆讲座
xiaobiye
 

Viewers also liked (13)

24-7 culture code
24-7 culture code24-7 culture code
24-7 culture code
 
Parcial
ParcialParcial
Parcial
 
CV
CVCV
CV
 
La web
La webLa web
La web
 
Solution to Student's suicide problem
Solution to Student's suicide problem  Solution to Student's suicide problem
Solution to Student's suicide problem
 
Intel® Xeon® processor E7-8800/4800 v3 Application Showcase
Intel® Xeon® processor E7-8800/4800 v3 Application ShowcaseIntel® Xeon® processor E7-8800/4800 v3 Application Showcase
Intel® Xeon® processor E7-8800/4800 v3 Application Showcase
 
Socrates kenya.org
Socrates kenya.orgSocrates kenya.org
Socrates kenya.org
 
Trabajo de diapositivas pereyra y alvez
Trabajo de diapositivas pereyra y alvezTrabajo de diapositivas pereyra y alvez
Trabajo de diapositivas pereyra y alvez
 
[Guide] The Best Introduction to Health Savings Accounts
[Guide] The Best Introduction to Health Savings Accounts[Guide] The Best Introduction to Health Savings Accounts
[Guide] The Best Introduction to Health Savings Accounts
 
Leveraging Social Media - CAGP 2 27-2012
Leveraging Social Media - CAGP 2 27-2012Leveraging Social Media - CAGP 2 27-2012
Leveraging Social Media - CAGP 2 27-2012
 
杜拜..有什麼做不到的..
杜拜..有什麼做不到的..杜拜..有什麼做不到的..
杜拜..有什麼做不到的..
 
Agile lean workshop
Agile lean workshopAgile lean workshop
Agile lean workshop
 
新生利用图书馆讲座
新生利用图书馆讲座新生利用图书馆讲座
新生利用图书馆讲座
 

Similar to Drupal as a Data Purveyor, Part II

Drupal as a Data Purveyor, Part I
Drupal as a Data Purveyor, Part IDrupal as a Data Purveyor, Part I
Drupal as a Data Purveyor, Part I
Tim Hamilton
 
Altic's big analytics stack, Charly Clairmont, Altic.
Altic's big analytics stack, Charly Clairmont, Altic.Altic's big analytics stack, Charly Clairmont, Altic.
Altic's big analytics stack, Charly Clairmont, Altic.
OW2
 
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
VMware Tanzu
 
The building blocks of the next web
The building blocks of the next webThe building blocks of the next web
The building blocks of the next web
Pier Paolo Orioli
 
The building blocks of the next web, from Customer Journey to UI Components. ...
The building blocks of the next web, from Customer Journey to UI Components. ...The building blocks of the next web, from Customer Journey to UI Components. ...
The building blocks of the next web, from Customer Journey to UI Components. ...
Codemotion
 
Choose SketchApp over Photoshop for UI/UX
Choose SketchApp over Photoshop for UI/UXChoose SketchApp over Photoshop for UI/UX
Choose SketchApp over Photoshop for UI/UX
Jens Hoffmann
 
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Thiago de Faria
 
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Codemotion
 
Web Design Trends For 2016
Web Design Trends For 2016Web Design Trends For 2016
Web Design Trends For 2016
Pixel Crayons
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018
Bastian Grimm
 
resume
resumeresume
resume
Brent Ransom
 
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Codemotion
 
Not Just a Pretty Face: How to design and build a cross-CMS CSS framework
Not Just a Pretty Face: How to design and build a cross-CMS CSS frameworkNot Just a Pretty Face: How to design and build a cross-CMS CSS framework
Not Just a Pretty Face: How to design and build a cross-CMS CSS framework
crystalenka
 
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
Jad DELLEL
 
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon PainterRapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Codemotion
 
5 Simple Actions to Make a Measurable Impact on Your Responsive Site
5 Simple Actions to Make a Measurable Impact on Your Responsive Site5 Simple Actions to Make a Measurable Impact on Your Responsive Site
5 Simple Actions to Make a Measurable Impact on Your Responsive Site
5th Finger
 
Boilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development ProcessBoilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development Process
Fibonalabs
 
Managing Responsive Design Projects
Managing Responsive Design ProjectsManaging Responsive Design Projects
Managing Responsive Design Projects
Andrew Smyk
 
Managing Responsive Design Projects
Managing Responsive Design ProjectsManaging Responsive Design Projects
Managing Responsive Design Projects
FITC
 
Demystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFWDemystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFW
Kent Graziano
 

Similar to Drupal as a Data Purveyor, Part II (20)

Drupal as a Data Purveyor, Part I
Drupal as a Data Purveyor, Part IDrupal as a Data Purveyor, Part I
Drupal as a Data Purveyor, Part I
 
Altic's big analytics stack, Charly Clairmont, Altic.
Altic's big analytics stack, Charly Clairmont, Altic.Altic's big analytics stack, Charly Clairmont, Altic.
Altic's big analytics stack, Charly Clairmont, Altic.
 
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 
The building blocks of the next web
The building blocks of the next webThe building blocks of the next web
The building blocks of the next web
 
The building blocks of the next web, from Customer Journey to UI Components. ...
The building blocks of the next web, from Customer Journey to UI Components. ...The building blocks of the next web, from Customer Journey to UI Components. ...
The building blocks of the next web, from Customer Journey to UI Components. ...
 
Choose SketchApp over Photoshop for UI/UX
Choose SketchApp over Photoshop for UI/UXChoose SketchApp over Photoshop for UI/UX
Choose SketchApp over Photoshop for UI/UX
 
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
 
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
 
Web Design Trends For 2016
Web Design Trends For 2016Web Design Trends For 2016
Web Design Trends For 2016
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018
 
resume
resumeresume
resume
 
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
 
Not Just a Pretty Face: How to design and build a cross-CMS CSS framework
Not Just a Pretty Face: How to design and build a cross-CMS CSS frameworkNot Just a Pretty Face: How to design and build a cross-CMS CSS framework
Not Just a Pretty Face: How to design and build a cross-CMS CSS framework
 
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
Generative Design 101 for Architecture, Engineering & Construction by Jad Del...
 
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon PainterRapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
 
5 Simple Actions to Make a Measurable Impact on Your Responsive Site
5 Simple Actions to Make a Measurable Impact on Your Responsive Site5 Simple Actions to Make a Measurable Impact on Your Responsive Site
5 Simple Actions to Make a Measurable Impact on Your Responsive Site
 
Boilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development ProcessBoilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development Process
 
Managing Responsive Design Projects
Managing Responsive Design ProjectsManaging Responsive Design Projects
Managing Responsive Design Projects
 
Managing Responsive Design Projects
Managing Responsive Design ProjectsManaging Responsive Design Projects
Managing Responsive Design Projects
 
Demystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFWDemystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFW
 

More from Tim Hamilton

Game Changers: How market leaders discover a distinct advantage and make thei...
Game Changers: How market leaders discover a distinct advantage and make thei...Game Changers: How market leaders discover a distinct advantage and make thei...
Game Changers: How market leaders discover a distinct advantage and make thei...
Tim Hamilton
 
What is Strategy? Strategy Day at EO Accelerator
What is Strategy? Strategy Day at EO AcceleratorWhat is Strategy? Strategy Day at EO Accelerator
What is Strategy? Strategy Day at EO Accelerator
Tim Hamilton
 
What Business are You Really In? Competitive Strategy for Business Leaders
What Business are You Really In? Competitive Strategy for Business LeadersWhat Business are You Really In? Competitive Strategy for Business Leaders
What Business are You Really In? Competitive Strategy for Business Leaders
Tim Hamilton
 
How to Hire a Great Developer
How to Hire a Great DeveloperHow to Hire a Great Developer
How to Hire a Great Developer
Tim Hamilton
 
The Discipline of Market Leaders: A Strategy for Reaching the Top
The Discipline of Market Leaders: A Strategy for Reaching the TopThe Discipline of Market Leaders: A Strategy for Reaching the Top
The Discipline of Market Leaders: A Strategy for Reaching the Top
Tim Hamilton
 
Agile Agency Scrum: An Introduction to Flexible Project Management for Produc...
Agile Agency Scrum: An Introduction to Flexible Project Management for Produc...Agile Agency Scrum: An Introduction to Flexible Project Management for Produc...
Agile Agency Scrum: An Introduction to Flexible Project Management for Produc...
Tim Hamilton
 
If You Give a Mouse a Cookie: Managing Scope
If You Give a Mouse a Cookie: Managing ScopeIf You Give a Mouse a Cookie: Managing Scope
If You Give a Mouse a Cookie: Managing Scope
Tim Hamilton
 
Selling with Disarming Honesty
Selling with Disarming HonestySelling with Disarming Honesty
Selling with Disarming Honesty
Tim Hamilton
 

More from Tim Hamilton (8)

Game Changers: How market leaders discover a distinct advantage and make thei...
Game Changers: How market leaders discover a distinct advantage and make thei...Game Changers: How market leaders discover a distinct advantage and make thei...
Game Changers: How market leaders discover a distinct advantage and make thei...
 
What is Strategy? Strategy Day at EO Accelerator
What is Strategy? Strategy Day at EO AcceleratorWhat is Strategy? Strategy Day at EO Accelerator
What is Strategy? Strategy Day at EO Accelerator
 
What Business are You Really In? Competitive Strategy for Business Leaders
What Business are You Really In? Competitive Strategy for Business LeadersWhat Business are You Really In? Competitive Strategy for Business Leaders
What Business are You Really In? Competitive Strategy for Business Leaders
 
How to Hire a Great Developer
How to Hire a Great DeveloperHow to Hire a Great Developer
How to Hire a Great Developer
 
The Discipline of Market Leaders: A Strategy for Reaching the Top
The Discipline of Market Leaders: A Strategy for Reaching the TopThe Discipline of Market Leaders: A Strategy for Reaching the Top
The Discipline of Market Leaders: A Strategy for Reaching the Top
 
Agile Agency Scrum: An Introduction to Flexible Project Management for Produc...
Agile Agency Scrum: An Introduction to Flexible Project Management for Produc...Agile Agency Scrum: An Introduction to Flexible Project Management for Produc...
Agile Agency Scrum: An Introduction to Flexible Project Management for Produc...
 
If You Give a Mouse a Cookie: Managing Scope
If You Give a Mouse a Cookie: Managing ScopeIf You Give a Mouse a Cookie: Managing Scope
If You Give a Mouse a Cookie: Managing Scope
 
Selling with Disarming Honesty
Selling with Disarming HonestySelling with Disarming Honesty
Selling with Disarming Honesty
 

Recently uploaded

Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 

Recently uploaded (20)

Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 

Drupal as a Data Purveyor, Part II

  • 1. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Drupal as a Data Purveyor Layering Drupal with emerging technologies to create a performant, scalable data purveyor.
  • 2. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 ASTONISH DESIGN C H A N G E G A M E Diana Montalion Dupuis @dianadupuis Sam Heuck @samheuck Andrew Elster @filmknurd
  • 3. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 ASTONISH DESIGN C H A N G E G A M E We have a new website: astonishdesign.com @Astonish_Design
  • 4. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 An open-source content management PHP/MySQL framework designed for rapid development of content-rich web applications.
  • 5. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Reasons (among many) • Growth: evolving tool • Foundation skill set • User features
  • 6. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 http://jdhancock.com/ • JD Hancock• http://farm9.staticflickr.com/8322/8031897271_9c63e48a29_b.jpg
  • 7. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 “Big” Data "Big" in relation to the amount of content Drupal is designed to manage
  • 8. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Volume
  • 9. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Velocity BIKE WALLS• http://www.bikewalls.com
  • 10. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Variety
  • 11. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Content •Every kind of data •Coming from everywhere
  • 12. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Current Issues •Bootstrapping •Bottlenecks - Normalized - Join Happy •Lack of solution architecture
  • 13. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Views Rapid Development Platform Visitors & Content Authors Miners Who is the user?
  • 14. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Welcome to the future When modularizing the architecture creates performant applications for all content and all users.
  • 15. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Traditional Optimizations
  • 16. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Duplicate Data Rapid Development Platform API Denormalized Document Storage for READS Normalized Relational for WRITES Data Mining Content & Data Creation
  • 17. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Cost of Bootstrap • Hooks allow modules to customize behavior • Drupal calls hooks during each stage of bootstrap • More modules, more hooks called, slower bootstrap
  • 18. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Massive Callstacks
  • 19. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Bootstrap on Every Request
  • 20. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Views Rapid Development Platform Visitors & Content Authors Miners Backbone.js Twisted JS Photon Vert.x Celluloid::IO PYTHON PHP JAVA RUBY
  • 21. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Views Rapid Development Platform Visitors & Content Authors Miners Backbone.js Twisted JS Photon Vert.x Celluloid::IO PYTHON PHP JAVA RUBY Sources
  • 22. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 API and Node.JS
  • 23. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Why Proxy External Sources? OK your.domai GET OK other.domain OPTION Yes GET
  • 24. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 RESTful RobertTadlock • http://www.flickr.com/photos/rtadlock/2716877199/ http://apigee.com/about/api-best-practices Since you are building the API, you can make it any way you want, but following some good basic REST conventions is a good idea. It will make it easier to integrate with front end frameworks.
  • 25. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Pick a Framework Express or Restify •http://expressjs.com •http://mcavage.github.com/node-restify
  • 26. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Pick a Connector Tony Hisgett • http://www.flickr.com/photos/hisgett/ http://mongoosejs.com/ Mongoose Alternatives •Mongolia •Mongo Skin •Native MongoDB Driver
  • 27. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Example Express & Mongoose
  • 28. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Create a Resource
  • 29. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Create an Endpoint http://domain/resources { [ { “someField”: “blah blah blah” “anotherField”: 2 } ... ] }
  • 30. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 On the Front-end
  • 31. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Views Rapid Development Platform Visitors & Content Authors Miners Backbone.js Twisted JS Photon Vert.x Celluloid::IO PYTHON PHP JAVA RUBY Sources
  • 32. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Isn’t JS Slow? Yes but.... 1. JS and devices continue to improve 2. We've improved the overall round trip: faster data, smaller payload, no bootstrap. It's still faster overall.
  • 33. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Organize Your Code On the front-end, you could write everything as AJAX calls and jQuery DOM manipulation, but that will get messy very quickly as your application grows in sophistication. In the interests of maintainability and sanity, use a framework that organizes your code and abstracts away the DOM. There are many to choose from. A new one probably came out this morning.
  • 34. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 We use Ember because it is straightforward to use, powerful, flexible, and still fairly light weight. Backbone has been around for a while and is quite nice, but we like how Ember handles garbage collection and the other goodies it ships with. What Why How http://www.emberjs.com Why Discourse Uses Ember •Official Guides •Resources •Fire Up Ember •Ember Camp •DarthdeusV. Ember •
  • 35. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Results from Rich Snippets For Algebraix, all the data comes from an external source, so it makes sense to run the application on the client side, as opposed to importing the data into Drupal first. It also makes the control panel feel more responsive. No more click and hope while waiting for the interface to receive data. Now we've created a conversation with the user.
  • 36. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
  • 37. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Essential question ... Why use Drupal? Don’t use Drupal if you don’t need it.
  • 38. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 The role of the themer Front engineer
  • 39. ASTONISH DESIGN C H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13 Questions?