SlideShare une entreprise Scribd logo
1  sur  81
Télécharger pour lire hors ligne
BEYOND WEBSITES: USING DRUPAL FOR DIGITAL
SIGNS
About Us
Adam Weingarten
Technical Architect, Acquia
D.O:
github:
linkedin:
adam.weingarten
aweingarten
adam.weingarten
Mike Madison
Technical Architect, Acquia
D.O:
github:
linkedin:
mikemadison
mikemadison13
mikemadison
WHY ARE WE HERE?
Next-generation digital experiences
Beyond conventional browser
WHAT COULD THOSE LOOK LIKE?
TOUCH SCREEN ON A CAR/PLANE
MALL KIOSK
PUBLIC TRANSIT
WHY ARE WE REALLY HERE? SIGNS!
WHAT ARE YOU GOING TO HEAR ABOUT?
Content Management
Working with external data
Data Transmission
Device Management
Security
Support
Case Study
WHY EVEN USE DRUPAL TO POWER A SIGN?
SKEPTICS SAY: THERE ARE BETTER OPTIONS!
Caution: Gratuitous opportunity to cram in buzzwords and
technologies!
Great DX. Horrible UX.
DRUPAL PROVIDES UX FOR MANAGING CONTENT!
Even in a headless world Drupal has a place
Makes it easy to author and edit
Has views to find the right content
Services to spit it out
WHY DO WE USE DRUPAL TO MANAGE CONTENT
AGAIN?
Content Modeling
Access Controls & Permissions
Revisioning
Translations
Reproducing this elsewhere is expensive
DRUPAL LETS NON DEV MORTALS EDIT THE WEB
CONTENT MODEL EXAMPLE: DC METRO!
Lines: Red, Blue, Yellow, Green
Line Direction: Shady Grove or
Glenmont
Stations: Metro Center,
Smithsonian, Farragut North
Platforms: Single platform can
service Multiple lines.
D8 MAKES IT EASY TO SYNDICATE THIS DATA
USING WEBSERVICES
Build your own API
WORKING WITH EXTERNAL DATA AND FEEDS
Drupal isn't the source of all things.
It can still help process outside data.
WHAT KIND OF "EXTERNAL DATA" FROM OUTSIDE
APIS:
Pinterest, Facebook, Twitter
TRAIN ARRIVALS
WEATHER
STOCK QUOTES
TOP NEWS
CONTEXT IS EVERYTHING
Remember that Drupal content model?
We can use it to to process that data!
BACK TO OUR TRAIN EXAMPLE...
Say we have an arrival feed.
Can process updates for specific signs
Let the signs know that something has changed
HOW DOES THIS ACTUALLY WORK?
Start with a Drush command
Store the credentials in Drupal
Sprinkle in some caching to enforce rate limits
Parse and normalize data
DATA TRANSMISSION
Getting information from Drupal to your device
APPROACHES
PULL SUKS
High Traffic
Load on devices
Load on servers
Can mimic DDOS
THE DREAM
Send data to devices from multiple APIs in "real" time
PROBLEM: DATA IN REAL TIME
!@$!%@# Caching
Must stay "current" over time
Limited or no user interactivity
(can't constantly reload)
OUR SOLUTION?
USE A WEBSOCKET!
Long connection time
Nearly instantaneous communication
Can be shared between devices
Bi-directional
...AND MOST IMPORTANTLY
HIGHLY SCALABLE
(pretty critical for a lot of devices getting a lot of data)
CASE STUDY: AWS IOT SERVICE
N number of Devices each subscribe to 1 or more "topics"
Drupal subscribes to one or more data sources
Drupal pushes appropriate data to appropriate topic(s)
IOT pushes data to connected device(s)
PRETTY COOL BUT...
...now we have a new problem
DEVICE MANAGEMENT
SO FAR, DRUPAL KNOWS ABOUT:
Data
Content
BUT!
That case study only works if Drupal knows about the Devices too
WHAT DO WE NEED TO TELL DRUPAL?
Which device cares about what data?
What format should the data be provided in?
How do you make sure that only your devices are accessing the
data?
WHICH DEVICE CARES ABOUT WHAT DATA?
Device Location: DC Metro
What direction do trains travel?
What tracks does this screen cover?
What platform is the device on?
What station is the platform in?
What routes run through that platform and station?
CREATE "CONTENT" TYPES
Entity references provide context
Metadata can be used in reports
UX bonus: re-use this structure for message / data placement
CAUTION:
Fully boostrapping Drupal during parsing == slow
Cache!
WHAT FORMAT SHOULD THE DATA BE PROVIDED
IN?
What size screen?
What IP address?
What direction is the screen facing?
What language should the device display?
HOW DO YOU MAKE SURE THAT ONLY YOUR
DEVICES ARE ACCESSING THE DATA
Whitelist your system
Make sure your service requires authentication from devices
Require TFA for user access
(let's talk more about this)
SECURITY
You just created a real device in the real world!
And everyone wants to hack it
GIVE YOUR HARDWARE SOME LOVE
Embedded devices have poor security track-records
O en ship with default passwords.
Restrict physical access
YOU HARDWARE ISN'T JUST HARDWARE.
IT'S ALSO RUNNING SOFTWARE.
Make sure that the vendor releases patches in a timely manner
Stay on top of firmware updates
Plan for upgrades when any installed so ware has a published
vulnerability
IF IT CAN CONNECT TO THE INTERWEBS YOU CAN
HACK IT
Even a TV can be hacked
SOURCE DATA
Guard the back door!!!!
MUST be as secure (or more so) than the rest of the stack
Validate your data
Audit your data
IT'S 2017 USE SSL EVERYWHERE
No one wants a man in the middle attack
Great way to vandalize your sign
It's a go live blocker
IT'S NOT PARANOIA IF THEY ARE REALLY OUT TO
GET YOU
In case you were wondering: they are.
FAULT TOLERANCE
Something goes wrong on a webpage you reload
Don't give it a second thought
When a sign shows a blue screen of death people notice
WHAT DOES FAILURE LOOK LIKE?
EXCEPTION HANDLING
Graceful Degradation
AT SOME POINT YOU WILL HAVE A PROBLEM THAT
YOU CAN'T HANDLE
CUSTOM EXTENSIONS TO AUTO RELOAD FAILED
TABS
Oh no you didn't Extension
Good starting point for a custom extension
SUPPORT
Troubleshooting a complex stack with API integrations is hard
LET'S PRETEND YOU DIDN'T SEE THIS
PRESENTATION
Devices use Angular to poll various APIs in real time (directly)
You didn't load test any of your web servers before launch
You add 20 more screens in production
ALL OF YOUR SCREENS LOSE DATA
SIMULTANEOUSLY
How do you troubleshoot?
Did a server powering one of the APIs crash?
Did the web server crash?
UNDERSTANDING THE ARCHITECTURE
Make sure support knows what those APIs are.
Make sure support knows the warnings signs and symptoms of
problems.
NEED ESCALATION PLANS FOR OUTAGES
Who owns which API
Who you gonna call
KNOW WHAT YOU CAN AND CAN'T FIX
Figure this out before something bad happens
(that includes testing before hand)
LOAD TEST BEFORE SCALING UP
Mirror the production hardware
Including any dependent APIs
AND REMEMBER!
Your source APIs may not have as robust of a workflow as your
main site
Make sure the owners of those systems know not to make
changes without notifying your dev team
CASE STUDY
< 5k devices, real-time data
CASE STUDY 2: MASS TRANSIT DISPLAYS
Devices: Digital Screens
Content: Arrival data, messaging / emergency communication
CHALLENGES
Real-time data across thousands of devices
Internet & websocket connectivity
Error handling & recovery
On-demand messaging
Performance
APPROACH
Arrivals (and other) data parsed by Drupal
Drupal content for messaging
Amazon IOT Websocket Push Model
React front end
Inventory of Drupal assets to speed parsing
ADVANTAGES
Right sized targeted messaging
Arrival data changes on screen within 5-8 seconds
System is massively scalable
UX for content managers
WRAP UP
Why Drupal is a good idea for signs!
A few techniques to use
A couple of case studies on how we used them
QUESTIONS?
Leave us some feedback!
Thanks!
Adam Weingarten and Mike Madison: Beyond Websites: Using Drupal For Digital Signs
00:47
RESOURCES
Places for Websockets as a Service
AWS IOT
Pubnub
Pusher

Contenu connexe

Similaire à Beyond websites using drupal for digital signs

Security for AWS : Journey to Least Privilege (update)
Security for AWS : Journey to Least Privilege (update)Security for AWS : Journey to Least Privilege (update)
Security for AWS : Journey to Least Privilege (update)dhubbard858
 
Security for AWS: Journey to Least Privilege
Security for AWS: Journey to Least PrivilegeSecurity for AWS: Journey to Least Privilege
Security for AWS: Journey to Least PrivilegeLacework
 
quicloud Apr 20 2010 Boulder New Tech Presentation
quicloud Apr 20 2010 Boulder New Tech Presentationquicloud Apr 20 2010 Boulder New Tech Presentation
quicloud Apr 20 2010 Boulder New Tech PresentationrICh morrow
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
 
To the Cloud and beyond (Nantes, Rebuild 2018)
To the Cloud and beyond (Nantes, Rebuild 2018)To the Cloud and beyond (Nantes, Rebuild 2018)
To the Cloud and beyond (Nantes, Rebuild 2018)Alex Danvy
 
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...apidays
 
Why the cloud is more secure than your existing systems
Why the cloud is more secure than your existing systemsWhy the cloud is more secure than your existing systems
Why the cloud is more secure than your existing systemsErnest Mueller
 
A Developer Day 2014 - Durban
A Developer Day 2014 - Durban A Developer Day 2014 - Durban
A Developer Day 2014 - Durban Robert MacLean
 
Programming the world with Docker
Programming the world with DockerProgramming the world with Docker
Programming the world with DockerPatrick Chanezon
 
Prototyping with the Internet of Things
Prototyping with the Internet of ThingsPrototyping with the Internet of Things
Prototyping with the Internet of ThingsSarah Ritter
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
 
Scaling on DigitalOcean
Scaling on DigitalOceanScaling on DigitalOcean
Scaling on DigitalOceandavid_e_worth
 
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...Quentin Adam
 
SXSW - The Changing World of Software Delivery: Web, Mobile,and IoT
SXSW - The Changing World of Software Delivery: Web, Mobile,and IoTSXSW - The Changing World of Software Delivery: Web, Mobile,and IoT
SXSW - The Changing World of Software Delivery: Web, Mobile,and IoTKevin Rohling
 
Cloud Computing and Virtualisation
Cloud Computing and VirtualisationCloud Computing and Virtualisation
Cloud Computing and Virtualisationanupriti
 

Similaire à Beyond websites using drupal for digital signs (20)

Unlocking the Potential of Database Automation
Unlocking the Potential of Database AutomationUnlocking the Potential of Database Automation
Unlocking the Potential of Database Automation
 
Security for AWS : Journey to Least Privilege (update)
Security for AWS : Journey to Least Privilege (update)Security for AWS : Journey to Least Privilege (update)
Security for AWS : Journey to Least Privilege (update)
 
Security for AWS: Journey to Least Privilege
Security for AWS: Journey to Least PrivilegeSecurity for AWS: Journey to Least Privilege
Security for AWS: Journey to Least Privilege
 
meet4psa
meet4psameet4psa
meet4psa
 
quicloud Apr 20 2010 Boulder New Tech Presentation
quicloud Apr 20 2010 Boulder New Tech Presentationquicloud Apr 20 2010 Boulder New Tech Presentation
quicloud Apr 20 2010 Boulder New Tech Presentation
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
To the Cloud and beyond (Nantes, Rebuild 2018)
To the Cloud and beyond (Nantes, Rebuild 2018)To the Cloud and beyond (Nantes, Rebuild 2018)
To the Cloud and beyond (Nantes, Rebuild 2018)
 
IASA Atlanta September 2009
IASA Atlanta September 2009IASA Atlanta September 2009
IASA Atlanta September 2009
 
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
 
Why the cloud is more secure than your existing systems
Why the cloud is more secure than your existing systemsWhy the cloud is more secure than your existing systems
Why the cloud is more secure than your existing systems
 
A Developer Day 2014 - Durban
A Developer Day 2014 - Durban A Developer Day 2014 - Durban
A Developer Day 2014 - Durban
 
Programming the world with Docker
Programming the world with DockerProgramming the world with Docker
Programming the world with Docker
 
Prototyping with the Internet of Things
Prototyping with the Internet of ThingsPrototyping with the Internet of Things
Prototyping with the Internet of Things
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
B&W Netsparker overview
B&W Netsparker overviewB&W Netsparker overview
B&W Netsparker overview
 
Scaling on DigitalOcean
Scaling on DigitalOceanScaling on DigitalOcean
Scaling on DigitalOcean
 
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
Be a modern developer ! #liveCoding #cloud #docker #akka #scala #amqp - at Ch...
 
Server for POS
Server for POSServer for POS
Server for POS
 
SXSW - The Changing World of Software Delivery: Web, Mobile,and IoT
SXSW - The Changing World of Software Delivery: Web, Mobile,and IoTSXSW - The Changing World of Software Delivery: Web, Mobile,and IoT
SXSW - The Changing World of Software Delivery: Web, Mobile,and IoT
 
Cloud Computing and Virtualisation
Cloud Computing and VirtualisationCloud Computing and Virtualisation
Cloud Computing and Virtualisation
 

Plus de Acquia

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelAcquia
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfAcquia
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022Acquia
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022Acquia
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story Acquia
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXAcquia
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowAcquia
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner BootcampAcquia
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcampAcquia
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner BootcampAcquia
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner BootcampAcquia
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYAcquia
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineAcquia
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless futureAcquia
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsAcquia
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...Acquia
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Acquia
 

Plus de Acquia (20)

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdf
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdf
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner Bootcamp
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcamp
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner Bootcamp
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner Bootcamp
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless future
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
 

Dernier

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 

Dernier (20)

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 

Beyond websites using drupal for digital signs

  • 1. BEYOND WEBSITES: USING DRUPAL FOR DIGITAL SIGNS
  • 3. Adam Weingarten Technical Architect, Acquia D.O: github: linkedin: adam.weingarten aweingarten adam.weingarten
  • 4. Mike Madison Technical Architect, Acquia D.O: github: linkedin: mikemadison mikemadison13 mikemadison
  • 5. WHY ARE WE HERE? Next-generation digital experiences Beyond conventional browser
  • 6. WHAT COULD THOSE LOOK LIKE?
  • 7. TOUCH SCREEN ON A CAR/PLANE
  • 10. WHY ARE WE REALLY HERE? SIGNS!
  • 11. WHAT ARE YOU GOING TO HEAR ABOUT? Content Management Working with external data Data Transmission Device Management Security Support Case Study
  • 12. WHY EVEN USE DRUPAL TO POWER A SIGN? SKEPTICS SAY: THERE ARE BETTER OPTIONS! Caution: Gratuitous opportunity to cram in buzzwords and technologies! Great DX. Horrible UX.
  • 13. DRUPAL PROVIDES UX FOR MANAGING CONTENT! Even in a headless world Drupal has a place Makes it easy to author and edit Has views to find the right content Services to spit it out
  • 14. WHY DO WE USE DRUPAL TO MANAGE CONTENT AGAIN? Content Modeling Access Controls & Permissions Revisioning Translations Reproducing this elsewhere is expensive
  • 15. DRUPAL LETS NON DEV MORTALS EDIT THE WEB
  • 16. CONTENT MODEL EXAMPLE: DC METRO! Lines: Red, Blue, Yellow, Green Line Direction: Shady Grove or Glenmont Stations: Metro Center, Smithsonian, Farragut North Platforms: Single platform can service Multiple lines.
  • 17. D8 MAKES IT EASY TO SYNDICATE THIS DATA USING WEBSERVICES Build your own API
  • 18. WORKING WITH EXTERNAL DATA AND FEEDS Drupal isn't the source of all things. It can still help process outside data.
  • 19. WHAT KIND OF "EXTERNAL DATA" FROM OUTSIDE APIS: Pinterest, Facebook, Twitter
  • 24. CONTEXT IS EVERYTHING Remember that Drupal content model? We can use it to to process that data!
  • 25. BACK TO OUR TRAIN EXAMPLE... Say we have an arrival feed. Can process updates for specific signs Let the signs know that something has changed
  • 26. HOW DOES THIS ACTUALLY WORK? Start with a Drush command Store the credentials in Drupal Sprinkle in some caching to enforce rate limits Parse and normalize data
  • 27. DATA TRANSMISSION Getting information from Drupal to your device
  • 29. PULL SUKS High Traffic Load on devices Load on servers Can mimic DDOS
  • 30. THE DREAM Send data to devices from multiple APIs in "real" time
  • 31. PROBLEM: DATA IN REAL TIME !@$!%@# Caching Must stay "current" over time Limited or no user interactivity (can't constantly reload)
  • 33. USE A WEBSOCKET! Long connection time Nearly instantaneous communication Can be shared between devices Bi-directional
  • 35. HIGHLY SCALABLE (pretty critical for a lot of devices getting a lot of data)
  • 36. CASE STUDY: AWS IOT SERVICE N number of Devices each subscribe to 1 or more "topics" Drupal subscribes to one or more data sources Drupal pushes appropriate data to appropriate topic(s) IOT pushes data to connected device(s)
  • 37.
  • 38.
  • 39. PRETTY COOL BUT... ...now we have a new problem
  • 41. SO FAR, DRUPAL KNOWS ABOUT: Data Content
  • 42. BUT! That case study only works if Drupal knows about the Devices too
  • 43. WHAT DO WE NEED TO TELL DRUPAL? Which device cares about what data? What format should the data be provided in? How do you make sure that only your devices are accessing the data?
  • 44. WHICH DEVICE CARES ABOUT WHAT DATA? Device Location: DC Metro What direction do trains travel? What tracks does this screen cover? What platform is the device on? What station is the platform in? What routes run through that platform and station?
  • 45.
  • 46. CREATE "CONTENT" TYPES Entity references provide context Metadata can be used in reports UX bonus: re-use this structure for message / data placement
  • 47. CAUTION: Fully boostrapping Drupal during parsing == slow Cache!
  • 48. WHAT FORMAT SHOULD THE DATA BE PROVIDED IN? What size screen? What IP address? What direction is the screen facing? What language should the device display?
  • 49. HOW DO YOU MAKE SURE THAT ONLY YOUR DEVICES ARE ACCESSING THE DATA Whitelist your system Make sure your service requires authentication from devices Require TFA for user access (let's talk more about this)
  • 50. SECURITY You just created a real device in the real world! And everyone wants to hack it
  • 51. GIVE YOUR HARDWARE SOME LOVE Embedded devices have poor security track-records O en ship with default passwords. Restrict physical access
  • 52. YOU HARDWARE ISN'T JUST HARDWARE. IT'S ALSO RUNNING SOFTWARE. Make sure that the vendor releases patches in a timely manner Stay on top of firmware updates Plan for upgrades when any installed so ware has a published vulnerability
  • 53. IF IT CAN CONNECT TO THE INTERWEBS YOU CAN HACK IT Even a TV can be hacked
  • 54. SOURCE DATA Guard the back door!!!! MUST be as secure (or more so) than the rest of the stack Validate your data Audit your data
  • 55. IT'S 2017 USE SSL EVERYWHERE No one wants a man in the middle attack Great way to vandalize your sign It's a go live blocker
  • 56. IT'S NOT PARANOIA IF THEY ARE REALLY OUT TO GET YOU In case you were wondering: they are.
  • 57. FAULT TOLERANCE Something goes wrong on a webpage you reload Don't give it a second thought When a sign shows a blue screen of death people notice
  • 58. WHAT DOES FAILURE LOOK LIKE?
  • 59.
  • 60.
  • 61.
  • 63. AT SOME POINT YOU WILL HAVE A PROBLEM THAT YOU CAN'T HANDLE
  • 64. CUSTOM EXTENSIONS TO AUTO RELOAD FAILED TABS Oh no you didn't Extension Good starting point for a custom extension
  • 65. SUPPORT Troubleshooting a complex stack with API integrations is hard
  • 66. LET'S PRETEND YOU DIDN'T SEE THIS PRESENTATION Devices use Angular to poll various APIs in real time (directly) You didn't load test any of your web servers before launch You add 20 more screens in production
  • 67. ALL OF YOUR SCREENS LOSE DATA SIMULTANEOUSLY How do you troubleshoot? Did a server powering one of the APIs crash? Did the web server crash?
  • 68. UNDERSTANDING THE ARCHITECTURE Make sure support knows what those APIs are. Make sure support knows the warnings signs and symptoms of problems.
  • 69. NEED ESCALATION PLANS FOR OUTAGES Who owns which API Who you gonna call
  • 70. KNOW WHAT YOU CAN AND CAN'T FIX Figure this out before something bad happens (that includes testing before hand)
  • 71. LOAD TEST BEFORE SCALING UP Mirror the production hardware Including any dependent APIs
  • 72. AND REMEMBER! Your source APIs may not have as robust of a workflow as your main site Make sure the owners of those systems know not to make changes without notifying your dev team
  • 73. CASE STUDY < 5k devices, real-time data
  • 74. CASE STUDY 2: MASS TRANSIT DISPLAYS Devices: Digital Screens Content: Arrival data, messaging / emergency communication
  • 75. CHALLENGES Real-time data across thousands of devices Internet & websocket connectivity Error handling & recovery On-demand messaging Performance
  • 76. APPROACH Arrivals (and other) data parsed by Drupal Drupal content for messaging Amazon IOT Websocket Push Model React front end Inventory of Drupal assets to speed parsing
  • 77. ADVANTAGES Right sized targeted messaging Arrival data changes on screen within 5-8 seconds System is massively scalable UX for content managers
  • 78. WRAP UP Why Drupal is a good idea for signs! A few techniques to use A couple of case studies on how we used them
  • 81. Adam Weingarten and Mike Madison: Beyond Websites: Using Drupal For Digital Signs 00:47 RESOURCES Places for Websockets as a Service AWS IOT Pubnub Pusher