SlideShare a Scribd company logo
Using Drupal for a Digital
Signage Pipeline
Mike Madison | Acquia
#SrijanWW | @srijan
#SrijanWW | @srijan
#SrijanWW | @srijan
#SrijanWW | @srijan
#SrijanWW | @srijan
#SrijanWW | @srijan
About Me
Technical Architect @ Acquia
Organizer of Drupal GovCon
Maintainer of BLT + COD
D.O: mikemadison
Github: mikemadison13
LinkedIn: mikemadison
#SrijanWW | @srijan
Today’s Agenda
– Intro to Data Pipelines
– Methodologies for building a data pipeline
– Testing with Behat / PHPunit
– Integrating Drupal and its features / capabilities
– Powering Digital Experiences (broadly)
Today’s Talk
– Advanced Topic… Intermediate Level
– Architectural Discussion
#SrijanWW | @srijan
Disclaimer: Technology
#SrijanWW | @srijan
#SrijanWW | @srijan
Image Source: http://www.nydailynews.com/
BUZZWORDS
● Decoupled
● Headless
● Digital Experience
#SrijanWW | @srijan
Why do you need a Pipeline?
“T
, .”
#SrijanWW | @srijan
What Does a Pipeline Do?
● Pushes Data Automatically
● Limits Human Interaction
● Streamlines Data Collection
● Broadcasts to Multiple Location
#SrijanWW | @srijan
What Does a Pipeline Do?
● Limits what/who can interact with system
● Provides fault tolerance
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Methodologies for Building a Data Pipeline
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Methodologies for Building a Data Pipeline
1. What is coming into the pipeline?
2. What is the pipeline powering?
3. How is the <whatever> displaying the <whatever>?
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Data
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
– What is it?
– How often does it update?
– Are there failover URLs?
– What format is it in?
– Do you have to authenticate to get to it?
– How big is the data dump?
– Are there API limitations / requirements?
Details
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Example
1. What is the data -- Mass Transit Data
2. How often does it update -- Every few seconds
3. Are there failover URLs -- Yes (multiple)
4. What format is it in -- JSON
5. Do you have to authenticate to get to it -- Yes
6. How big is the data dump - <10mb
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Example Impact
1. Mass Transit Data
NOT something you can screw up (people might die)
2. Every few seconds, <10mb, JSON
FAST processing time in a standard format (small)
3. Multiple URLS, Authenticated Requests
Secure + Robust
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Digital Experiences
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
– What is the Digital Experience?
– Can people interact with it?
– Is there any personalization / contextualization?
– How often does it need to update?
– Is it language dependent?
– Is it ADA compliant?
Details
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
– What is the Digital Experience? Arrival Sign
– Can people interact with it? No
– Is there any personalization / contextualization?
Contextualization based on Physical Location
– How often does it need to update? Every 5-8 secs
– Is it language dependent? No
– Is it ADA compliant? Yes
Example
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
– Arrival Sign, Every 5-8 secs
Old data not useful (real world evidence if right / wrong)
– Contextualization based on Physical Location
Sign must display appropriate location data
– No Interaction
Sign has to just “work”
Impact
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
– Not language dependent
BUT IT COULD BE
– ADA Compliant
Heavily limits how much “stuff” can be on the screen at
any one time
Impact
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Front End
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Cool! Now what?
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Architecting a Solution
– Pipeline:
– Acquire Data
– Organize Data
– Send data
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Architecting a Solution
– Context:
– Structure for organizing???
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Architecting a Solution
– Communication with Devices:
– How do you keep devices connected?
– How do you get data from the pipeline to the
device?
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline: Data Acquisition
– Authenticate
– Get Data From <source>
– Get Data from <other source>
– Validate Data
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline: Categorize Data
– Isolate Data for Each <whatever>
– Break Up Data Into Smaller Payloads
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline: Sender
– Authenticate Into Appropriate Service
– Send the Data
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Lots of Signs Means...
https://www.flickr.com/photos/83428770@N06/
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Lots of Little Details
● Size / Orientation
● Physical Location
● Facing Direction
● IP Address
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
OK Fine, Let’s Use Drupal
– Drupal can manage this
structure very easily
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Remember...
– Workflow
– Permissions / Roles
– WYSIWYG / Easy to Use Forms
– Contrib
– Security
– Media
– Views / Reporting
Drupal as a Framework
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Content Types to Define Relationships
- Route Groups
- Routes
- Stations
- Platforms
- Signs
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Content Types to Define Relationships
- Route Groups
- Routes
- Stations
- Platforms
- Signs
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Entity Forms to Capture Relevant Info
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Configuration Provider
- Sign Config
- Dynamic Updates to System
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Categorizer
● Markers in Data + Drupal provided Entities
● Can be updated on the fly
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Performance
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Categorizer Requires Drupal
● Drupal has many moving parts
● Lots of structure / config leads to big / complex queries
● Big / Complex queries are SLOW
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Cache EVERYTHING
● Pipeline accesses the cache
● Cache is regenerated only as needed
● Cache could be:
○ File Based
○ DB Based
○ Memcache Based
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Did Anything Change???
● Once Data is categorized… should we send it?
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
How Do You Show Data On A Sign?
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Transmission
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
How Do You Show Data On A Sign?
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Sending Data
– Normal Websites:
– Requests occur as user’s navigate
– New data on page load
– Asynchronous communication
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Sending Data
– For Signs:
– Persistent Connection
– Fast
– Lightweight
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
MQTT
Message Queuing Telemetry Transport
“publish-subscribe-based messaging protocol. It works
on top of the TCP/IP protocol. It is designed for
connections with remote locations where a "small code
footprint" is required or the network bandwidth is
limited. The publish-subscribe messaging pattern
requires a message broker.”
https://en.wikipedia.org/wiki/MQTT
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Image Source: https://www.survivingwithandroid.com
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
How Do You Show Data On A Sign?
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Testing Plan
(TDD)
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Acquia Build and Launch Tool (BLT)
https://blt.readthedocs.io
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Unit Testing
PHPUnit
– Ensures functionality at a method level
– Ensures classes / components function in a vacuum
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
(Not) Unit Testing
PHPUnit
– Bootstrap Drupal / Drush
– Execute Scripts / Caching
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Functional Testing
Behat
– Ensure fields / entities are functional
– Test roles / permissions / workflows
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline Testing
Behat
- Use Feature Context to execute elements of Pipeline
- Send data to IOT based on test script
- Retrieve data from IOT and compare with expected
value(s)
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
SLOW but FIERCE
Automated tests take ~20 minutes…
1. Communication with IOT
2. Results of Pipeline for ALL Data Providers
3. Queue Runners’ Functionality
4. The usual unit + functional testing
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Not much of a Drupal talk...
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Pipeline
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Drupal as a Data Provider
– Workflow
– Permissions / Roles
– WYSIWYG / Easy to Use Forms
– Contrib
– Security
– Media
– Views / Reporting
Drupal as a CMS
#SrijanWW | @srijan
©2018 Acquia Inc. — Confidential and Proprietary
Questions
#SrijanWW | @srijan

More Related Content

Similar to [Srijan Wednesday Webinars] Using Drupal as Data Pipeline for Digital Signage

Alexa, Ask GeorgiaGov: Better Citizen Engagement with Amazon Echo and Drupal 7
Alexa, Ask GeorgiaGov: Better Citizen Engagement with Amazon Echo and Drupal 7Alexa, Ask GeorgiaGov: Better Citizen Engagement with Amazon Echo and Drupal 7
Alexa, Ask GeorgiaGov: Better Citizen Engagement with Amazon Echo and Drupal 7
Acquia
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
ThousandEyes
 
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache SparkData-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
Databricks
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
ThousandEyes
 
Cisco at DevTO - Tomorrow Starts Now for Sheridan College Students (July 28, ...
Cisco at DevTO - Tomorrow Starts Now for Sheridan College Students (July 28, ...Cisco at DevTO - Tomorrow Starts Now for Sheridan College Students (July 28, ...
Cisco at DevTO - Tomorrow Starts Now for Sheridan College Students (July 28, ...
Marc Lijour, OCT, BSc, MBA
 
Education in 2015
Education in 2015Education in 2015
Education in 2015
Cisco Canada
 
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocenceCisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Canada
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
ThousandEyes
 
Cisco Connect Toronto 2018 DNA assurance
Cisco Connect Toronto 2018  DNA assuranceCisco Connect Toronto 2018  DNA assurance
Cisco Connect Toronto 2018 DNA assurance
Cisco Canada
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
ThousandEyes
 
The Case For Next Generation IAM
The Case For Next Generation IAM The Case For Next Generation IAM
The Case For Next Generation IAM
Patrick Harding
 
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Timothy Spann
 
Hack proof your drupal site- DrupalCamp Hyderabad
Hack proof your drupal site- DrupalCamp HyderabadHack proof your drupal site- DrupalCamp Hyderabad
Hack proof your drupal site- DrupalCamp Hyderabad
Naveen Valecha
 
ciscothousandeyesusecase
ciscothousandeyesusecaseciscothousandeyesusecase
ciscothousandeyesusecase
RENJITHKNAIR5
 
Enabling Data centric Teams
Enabling Data centric TeamsEnabling Data centric Teams
Enabling Data centric Teams
Data Con LA
 
Cisco Connect 2018 Singapore - En06 jason pernell
Cisco Connect 2018 Singapore - En06 jason pernellCisco Connect 2018 Singapore - En06 jason pernell
Cisco Connect 2018 Singapore - En06 jason pernell
NetworkCollaborators
 
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceGetting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
ThousandEyes
 
Getting Demo & POV Ready
Getting Demo & POV ReadyGetting Demo & POV Ready
Getting Demo & POV Ready
ThousandEyes
 
SmartCity StreamApp Platform: Real-time Information for Smart Cities and Tran...
SmartCity StreamApp Platform: Real-time Information for Smart Cities and Tran...SmartCity StreamApp Platform: Real-time Information for Smart Cities and Tran...
SmartCity StreamApp Platform: Real-time Information for Smart Cities and Tran...
Cubic Corporation
 
CISCO’s Cloud Journey (Keynote at Cloud Symposium)
CISCO’s Cloud Journey (Keynote at Cloud Symposium) CISCO’s Cloud Journey (Keynote at Cloud Symposium)
CISCO’s Cloud Journey (Keynote at Cloud Symposium)
Marcus McEwen
 

Similar to [Srijan Wednesday Webinars] Using Drupal as Data Pipeline for Digital Signage (20)

Alexa, Ask GeorgiaGov: Better Citizen Engagement with Amazon Echo and Drupal 7
Alexa, Ask GeorgiaGov: Better Citizen Engagement with Amazon Echo and Drupal 7Alexa, Ask GeorgiaGov: Better Citizen Engagement with Amazon Echo and Drupal 7
Alexa, Ask GeorgiaGov: Better Citizen Engagement with Amazon Echo and Drupal 7
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache SparkData-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
Data-Driven Transformation: Leveraging Big Data at Showtime with Apache Spark
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
Cisco at DevTO - Tomorrow Starts Now for Sheridan College Students (July 28, ...
Cisco at DevTO - Tomorrow Starts Now for Sheridan College Students (July 28, ...Cisco at DevTO - Tomorrow Starts Now for Sheridan College Students (July 28, ...
Cisco at DevTO - Tomorrow Starts Now for Sheridan College Students (July 28, ...
 
Education in 2015
Education in 2015Education in 2015
Education in 2015
 
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocenceCisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocence
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
Cisco Connect Toronto 2018 DNA assurance
Cisco Connect Toronto 2018  DNA assuranceCisco Connect Toronto 2018  DNA assurance
Cisco Connect Toronto 2018 DNA assurance
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
The Case For Next Generation IAM
The Case For Next Generation IAM The Case For Next Generation IAM
The Case For Next Generation IAM
 
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...Implement a Universal Data Distribution Architecture to Manage All Streaming ...
Implement a Universal Data Distribution Architecture to Manage All Streaming ...
 
Hack proof your drupal site- DrupalCamp Hyderabad
Hack proof your drupal site- DrupalCamp HyderabadHack proof your drupal site- DrupalCamp Hyderabad
Hack proof your drupal site- DrupalCamp Hyderabad
 
ciscothousandeyesusecase
ciscothousandeyesusecaseciscothousandeyesusecase
ciscothousandeyesusecase
 
Enabling Data centric Teams
Enabling Data centric TeamsEnabling Data centric Teams
Enabling Data centric Teams
 
Cisco Connect 2018 Singapore - En06 jason pernell
Cisco Connect 2018 Singapore - En06 jason pernellCisco Connect 2018 Singapore - En06 jason pernell
Cisco Connect 2018 Singapore - En06 jason pernell
 
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceGetting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
 
Getting Demo & POV Ready
Getting Demo & POV ReadyGetting Demo & POV Ready
Getting Demo & POV Ready
 
SmartCity StreamApp Platform: Real-time Information for Smart Cities and Tran...
SmartCity StreamApp Platform: Real-time Information for Smart Cities and Tran...SmartCity StreamApp Platform: Real-time Information for Smart Cities and Tran...
SmartCity StreamApp Platform: Real-time Information for Smart Cities and Tran...
 
CISCO’s Cloud Journey (Keynote at Cloud Symposium)
CISCO’s Cloud Journey (Keynote at Cloud Symposium) CISCO’s Cloud Journey (Keynote at Cloud Symposium)
CISCO’s Cloud Journey (Keynote at Cloud Symposium)
 

More from Srijan Technologies

[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
Srijan Technologies
 
[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...
[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...
[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...
Srijan Technologies
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
Srijan Technologies
 
[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...
[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...
[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...
Srijan Technologies
 
[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...
[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...
[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...
Srijan Technologies
 
[Srijan Wednesday Webinars] Is Your Business Ready for GDPR
[Srijan Wednesday Webinars] Is Your Business Ready for GDPR[Srijan Wednesday Webinars] Is Your Business Ready for GDPR
[Srijan Wednesday Webinars] Is Your Business Ready for GDPR
Srijan Technologies
 
[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business
[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business
[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business
Srijan Technologies
 
[Srijan Wednesday Webinars] How to Design a Chatbot that Works
[Srijan Wednesday Webinars] How to Design a Chatbot that Works[Srijan Wednesday Webinars] How to Design a Chatbot that Works
[Srijan Wednesday Webinars] How to Design a Chatbot that Works
Srijan Technologies
 
[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8
[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8
[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8
Srijan Technologies
 
Final dependency presentation.odp
Final dependency presentation.odpFinal dependency presentation.odp
Final dependency presentation.odp
Srijan Technologies
 
[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine
[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine
[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine
Srijan Technologies
 
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing [Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
Srijan Technologies
 
[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System
[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System
[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System
Srijan Technologies
 
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
Srijan Technologies
 
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr... [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
Srijan Technologies
 
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
Srijan Technologies
 
[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...
[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...
[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...
Srijan Technologies
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team
Srijan Technologies
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Srijan Technologies
 
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
Srijan Technologies
 

More from Srijan Technologies (20)

[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
 
[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...
[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...
[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...
[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...
[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and S...
 
[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...
[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...
[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...
 
[Srijan Wednesday Webinars] Is Your Business Ready for GDPR
[Srijan Wednesday Webinars] Is Your Business Ready for GDPR[Srijan Wednesday Webinars] Is Your Business Ready for GDPR
[Srijan Wednesday Webinars] Is Your Business Ready for GDPR
 
[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business
[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business
[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business
 
[Srijan Wednesday Webinars] How to Design a Chatbot that Works
[Srijan Wednesday Webinars] How to Design a Chatbot that Works[Srijan Wednesday Webinars] How to Design a Chatbot that Works
[Srijan Wednesday Webinars] How to Design a Chatbot that Works
 
[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8
[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8
[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8
 
Final dependency presentation.odp
Final dependency presentation.odpFinal dependency presentation.odp
Final dependency presentation.odp
 
[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine
[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine
[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine
 
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing [Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
 
[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System
[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System
[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System
 
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
 
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr... [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
 
[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...
[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...
[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
 

Recently uploaded

Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 

[Srijan Wednesday Webinars] Using Drupal as Data Pipeline for Digital Signage

  • 1. Using Drupal for a Digital Signage Pipeline Mike Madison | Acquia #SrijanWW | @srijan
  • 6. #SrijanWW | @srijan About Me Technical Architect @ Acquia Organizer of Drupal GovCon Maintainer of BLT + COD D.O: mikemadison Github: mikemadison13 LinkedIn: mikemadison
  • 7. #SrijanWW | @srijan Today’s Agenda – Intro to Data Pipelines – Methodologies for building a data pipeline – Testing with Behat / PHPunit – Integrating Drupal and its features / capabilities – Powering Digital Experiences (broadly)
  • 8. Today’s Talk – Advanced Topic… Intermediate Level – Architectural Discussion #SrijanWW | @srijan
  • 10. #SrijanWW | @srijan Image Source: http://www.nydailynews.com/
  • 11. BUZZWORDS ● Decoupled ● Headless ● Digital Experience #SrijanWW | @srijan
  • 12. Why do you need a Pipeline? “T , .” #SrijanWW | @srijan
  • 13. What Does a Pipeline Do? ● Pushes Data Automatically ● Limits Human Interaction ● Streamlines Data Collection ● Broadcasts to Multiple Location #SrijanWW | @srijan
  • 14. What Does a Pipeline Do? ● Limits what/who can interact with system ● Provides fault tolerance #SrijanWW | @srijan
  • 15. ©2018 Acquia Inc. — Confidential and Proprietary #SrijanWW | @srijan
  • 16. ©2018 Acquia Inc. — Confidential and Proprietary #SrijanWW | @srijan
  • 17. ©2018 Acquia Inc. — Confidential and Proprietary Methodologies for Building a Data Pipeline #SrijanWW | @srijan
  • 18. ©2018 Acquia Inc. — Confidential and Proprietary Methodologies for Building a Data Pipeline 1. What is coming into the pipeline? 2. What is the pipeline powering? 3. How is the <whatever> displaying the <whatever>? #SrijanWW | @srijan
  • 19. ©2018 Acquia Inc. — Confidential and Proprietary Data #SrijanWW | @srijan
  • 20. ©2018 Acquia Inc. — Confidential and Proprietary – What is it? – How often does it update? – Are there failover URLs? – What format is it in? – Do you have to authenticate to get to it? – How big is the data dump? – Are there API limitations / requirements? Details #SrijanWW | @srijan
  • 21. ©2018 Acquia Inc. — Confidential and Proprietary Example 1. What is the data -- Mass Transit Data 2. How often does it update -- Every few seconds 3. Are there failover URLs -- Yes (multiple) 4. What format is it in -- JSON 5. Do you have to authenticate to get to it -- Yes 6. How big is the data dump - <10mb #SrijanWW | @srijan
  • 22. ©2018 Acquia Inc. — Confidential and Proprietary Example Impact 1. Mass Transit Data NOT something you can screw up (people might die) 2. Every few seconds, <10mb, JSON FAST processing time in a standard format (small) 3. Multiple URLS, Authenticated Requests Secure + Robust #SrijanWW | @srijan
  • 23. ©2018 Acquia Inc. — Confidential and Proprietary Digital Experiences #SrijanWW | @srijan
  • 24. ©2018 Acquia Inc. — Confidential and Proprietary – What is the Digital Experience? – Can people interact with it? – Is there any personalization / contextualization? – How often does it need to update? – Is it language dependent? – Is it ADA compliant? Details #SrijanWW | @srijan
  • 25. ©2018 Acquia Inc. — Confidential and Proprietary – What is the Digital Experience? Arrival Sign – Can people interact with it? No – Is there any personalization / contextualization? Contextualization based on Physical Location – How often does it need to update? Every 5-8 secs – Is it language dependent? No – Is it ADA compliant? Yes Example #SrijanWW | @srijan
  • 26. ©2018 Acquia Inc. — Confidential and Proprietary – Arrival Sign, Every 5-8 secs Old data not useful (real world evidence if right / wrong) – Contextualization based on Physical Location Sign must display appropriate location data – No Interaction Sign has to just “work” Impact #SrijanWW | @srijan
  • 27. ©2018 Acquia Inc. — Confidential and Proprietary – Not language dependent BUT IT COULD BE – ADA Compliant Heavily limits how much “stuff” can be on the screen at any one time Impact #SrijanWW | @srijan
  • 28. ©2018 Acquia Inc. — Confidential and Proprietary Front End #SrijanWW | @srijan
  • 29. ©2018 Acquia Inc. — Confidential and Proprietary Cool! Now what? #SrijanWW | @srijan
  • 30. ©2018 Acquia Inc. — Confidential and Proprietary Architecting a Solution – Pipeline: – Acquire Data – Organize Data – Send data #SrijanWW | @srijan
  • 31. ©2018 Acquia Inc. — Confidential and Proprietary Architecting a Solution – Context: – Structure for organizing??? #SrijanWW | @srijan
  • 32. ©2018 Acquia Inc. — Confidential and Proprietary Architecting a Solution – Communication with Devices: – How do you keep devices connected? – How do you get data from the pipeline to the device? #SrijanWW | @srijan
  • 33. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline: Data Acquisition – Authenticate – Get Data From <source> – Get Data from <other source> – Validate Data #SrijanWW | @srijan
  • 34. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline: Categorize Data – Isolate Data for Each <whatever> – Break Up Data Into Smaller Payloads #SrijanWW | @srijan
  • 35. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline: Sender – Authenticate Into Appropriate Service – Send the Data #SrijanWW | @srijan
  • 36. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline #SrijanWW | @srijan
  • 37. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline #SrijanWW | @srijan
  • 38. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline #SrijanWW | @srijan
  • 39. ©2018 Acquia Inc. — Confidential and Proprietary Lots of Signs Means... https://www.flickr.com/photos/83428770@N06/ #SrijanWW | @srijan
  • 40. ©2018 Acquia Inc. — Confidential and Proprietary Lots of Little Details ● Size / Orientation ● Physical Location ● Facing Direction ● IP Address #SrijanWW | @srijan
  • 41. ©2018 Acquia Inc. — Confidential and Proprietary OK Fine, Let’s Use Drupal – Drupal can manage this structure very easily #SrijanWW | @srijan
  • 42. ©2018 Acquia Inc. — Confidential and Proprietary Remember... – Workflow – Permissions / Roles – WYSIWYG / Easy to Use Forms – Contrib – Security – Media – Views / Reporting Drupal as a Framework #SrijanWW | @srijan
  • 43. ©2018 Acquia Inc. — Confidential and Proprietary Content Types to Define Relationships - Route Groups - Routes - Stations - Platforms - Signs #SrijanWW | @srijan
  • 44. ©2018 Acquia Inc. — Confidential and Proprietary Content Types to Define Relationships - Route Groups - Routes - Stations - Platforms - Signs #SrijanWW | @srijan
  • 45. ©2018 Acquia Inc. — Confidential and Proprietary Entity Forms to Capture Relevant Info #SrijanWW | @srijan
  • 46. ©2018 Acquia Inc. — Confidential and Proprietary Configuration Provider - Sign Config - Dynamic Updates to System #SrijanWW | @srijan
  • 47. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline #SrijanWW | @srijan
  • 48. ©2018 Acquia Inc. — Confidential and Proprietary Categorizer ● Markers in Data + Drupal provided Entities ● Can be updated on the fly #SrijanWW | @srijan
  • 49. ©2018 Acquia Inc. — Confidential and Proprietary Performance #SrijanWW | @srijan
  • 50. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline #SrijanWW | @srijan
  • 51. ©2018 Acquia Inc. — Confidential and Proprietary Categorizer Requires Drupal ● Drupal has many moving parts ● Lots of structure / config leads to big / complex queries ● Big / Complex queries are SLOW #SrijanWW | @srijan
  • 52. ©2018 Acquia Inc. — Confidential and Proprietary Cache EVERYTHING ● Pipeline accesses the cache ● Cache is regenerated only as needed ● Cache could be: ○ File Based ○ DB Based ○ Memcache Based #SrijanWW | @srijan
  • 53. ©2018 Acquia Inc. — Confidential and Proprietary Did Anything Change??? ● Once Data is categorized… should we send it? #SrijanWW | @srijan
  • 54. ©2018 Acquia Inc. — Confidential and Proprietary How Do You Show Data On A Sign? #SrijanWW | @srijan
  • 55. ©2018 Acquia Inc. — Confidential and Proprietary Transmission #SrijanWW | @srijan
  • 56. ©2018 Acquia Inc. — Confidential and Proprietary How Do You Show Data On A Sign? #SrijanWW | @srijan
  • 57. ©2018 Acquia Inc. — Confidential and Proprietary Sending Data – Normal Websites: – Requests occur as user’s navigate – New data on page load – Asynchronous communication #SrijanWW | @srijan
  • 58. ©2018 Acquia Inc. — Confidential and Proprietary Sending Data – For Signs: – Persistent Connection – Fast – Lightweight #SrijanWW | @srijan
  • 59. ©2018 Acquia Inc. — Confidential and Proprietary MQTT Message Queuing Telemetry Transport “publish-subscribe-based messaging protocol. It works on top of the TCP/IP protocol. It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker.” https://en.wikipedia.org/wiki/MQTT #SrijanWW | @srijan
  • 60. ©2018 Acquia Inc. — Confidential and Proprietary Image Source: https://www.survivingwithandroid.com #SrijanWW | @srijan
  • 61. ©2018 Acquia Inc. — Confidential and Proprietary #SrijanWW | @srijan
  • 62. ©2018 Acquia Inc. — Confidential and Proprietary How Do You Show Data On A Sign? #SrijanWW | @srijan
  • 63. ©2018 Acquia Inc. — Confidential and Proprietary Testing Plan (TDD) #SrijanWW | @srijan
  • 64. ©2018 Acquia Inc. — Confidential and Proprietary Acquia Build and Launch Tool (BLT) https://blt.readthedocs.io #SrijanWW | @srijan
  • 65. ©2018 Acquia Inc. — Confidential and Proprietary Unit Testing PHPUnit – Ensures functionality at a method level – Ensures classes / components function in a vacuum #SrijanWW | @srijan
  • 66. ©2018 Acquia Inc. — Confidential and Proprietary (Not) Unit Testing PHPUnit – Bootstrap Drupal / Drush – Execute Scripts / Caching #SrijanWW | @srijan
  • 67. ©2018 Acquia Inc. — Confidential and Proprietary Functional Testing Behat – Ensure fields / entities are functional – Test roles / permissions / workflows #SrijanWW | @srijan
  • 68. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline Testing Behat - Use Feature Context to execute elements of Pipeline - Send data to IOT based on test script - Retrieve data from IOT and compare with expected value(s) #SrijanWW | @srijan
  • 69. ©2018 Acquia Inc. — Confidential and Proprietary SLOW but FIERCE Automated tests take ~20 minutes… 1. Communication with IOT 2. Results of Pipeline for ALL Data Providers 3. Queue Runners’ Functionality 4. The usual unit + functional testing #SrijanWW | @srijan
  • 70. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline #SrijanWW | @srijan
  • 71. ©2018 Acquia Inc. — Confidential and Proprietary Not much of a Drupal talk... #SrijanWW | @srijan
  • 72. ©2018 Acquia Inc. — Confidential and Proprietary Pipeline #SrijanWW | @srijan
  • 73. ©2018 Acquia Inc. — Confidential and Proprietary Drupal as a Data Provider – Workflow – Permissions / Roles – WYSIWYG / Easy to Use Forms – Contrib – Security – Media – Views / Reporting Drupal as a CMS #SrijanWW | @srijan
  • 74. ©2018 Acquia Inc. — Confidential and Proprietary Questions #SrijanWW | @srijan