SlideShare ist ein Scribd-Unternehmen logo
1 von 74
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie [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 7Acquia
 
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 ConceptsThousandEyes
 
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 SparkDatabricks
 
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 ConceptsThousandEyes
 
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
 
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 innocenceCisco 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 ConceptsThousandEyes
 
Cisco Connect Toronto 2018 DNA assurance
Cisco Connect Toronto 2018  DNA assuranceCisco Connect Toronto 2018  DNA assurance
Cisco Connect Toronto 2018 DNA assuranceCisco 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 ConceptsThousandEyes
 
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 HyderabadNaveen Valecha
 
ciscothousandeyesusecase
ciscothousandeyesusecaseciscothousandeyesusecase
ciscothousandeyesusecaseRENJITHKNAIR5
 
Enabling Data centric Teams
Enabling Data centric TeamsEnabling Data centric Teams
Enabling Data centric TeamsData 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 pernellNetworkCollaborators
 
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 ExperienceThousandEyes
 
Getting Demo & POV Ready
Getting Demo & POV ReadyGetting Demo & POV Ready
Getting Demo & POV ReadyThousandEyes
 
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
 

Ähnlich wie [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)
 

Mehr von 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 GDPRSrijan 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 BusinessSrijan 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 WorksSrijan 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 8Srijan Technologies
 
Final dependency presentation.odp
Final dependency presentation.odpFinal dependency presentation.odp
Final dependency presentation.odpSrijan 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 EngineSrijan 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 SystemSrijan 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 DrupalSrijan 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 TeamSrijan 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 AppiumSrijan 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 CultureSrijan Technologies
 

Mehr von 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
 

Kürzlich hochgeladen

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%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
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 

Kürzlich hochgeladen (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%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
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 

[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