SlideShare a Scribd company logo
1 of 24
Feeding Drupal
   * Now in Real Time
Overview

•   What is Feeds module all about?

•   How does Feeds module work?

•   DEMO: Importing Flickr photos

•   Real-time feeds with PubSubHubbub

•   Very Exciting Demonstration with Gowalla!
What is Feeds Module?

•   Import and aggregation framework

•   Creates nodes, users, taxonomy, flat data...

•   From RSS / Atom / SOAP / CSV / ...

•   Mapping of input to Drupal elements

•   It’s easily extensible and supports
    PubSubHubbub as a subscriber
But, what about...

 Periodic       One-off
 Imports        Imports


Aggregator      Migrate
 Feed API     Node Import
              User Import
How does it work?


Fetcher    Parser   Processor
How does Feeds work?


Fetcher   Parser   Processor


HTTP       RSS       NODE
HTTPS     ATOM        USER
 FILE     FLICKR   TAXONOMY
  ...        ...       ...
How does it work?
          Feeds Importer
 {
Fetcher


HTTP
HTTPS
 FILE
  ...
              Parser


              RSS
             ATOM
             FLICKR
                ...
                           Processor


                             NODE
                              USER
                           TAXONOMY
                               ...
Let’s import some stuff
          Feeds Importer
 {
Fetcher


HTTP
HTTPS
 FILE
  ...
              Parser


              RSS
             ATOM
             FLICKR
                ...
                           Processor


                             NODE
                              USER
                           TAXONOMY
                               ...
DEMO

•   Importing photos from Flickr into Drupal
    nodes

•   Using location data from GeoRSS feed to
    display them on a Google map

•   Import set to run on cron every 30 mins.
What’s wrong with that?
                     Are we there yet?
                     Are we there yet?


  Publisher                              Subscriber



Yes! Here you are.


                     Are we there yet?
Solution?



Publisher               Subscriber
Problem
                      Subscriber

                      Subscriber

                      Subscriber

Publisher             Subscriber

                      Subscriber

                      Subscriber

                      Subscriber
Enter PubSubHubbub

   •   A publish / subscribe protocol

   •   Turns Atom and RSS feeds into real-time
       streams



Publisher                Hub              Subscriber
What does it look like?
Step 1 of 2: Subscribe

               I want to subscribe to
               feed X, send updates
                       to me.


Publisher    Hub                 Subscriber


                   Are you for real?
Step 2 of 2: Publish
                       Hey subscribers,
                     here’s new content for
I have new content           feed X
     for feed X
                                              Subscriber

                                              Subscriber
Publisher             Hub
                                              Subscriber

                                              Subscriber
Let’s import some more
         stuff...

•   Now in real-time with PuSH

•   Check into Gowalla from mobile phone

•   See location update on Google map in
    Drupal
What just happened?




Publisher    Hub      Subscriber
Step 1 of 2: Subscribe
   •   When we created the Gowalla Feed node,
       we asked the hub to send us updates.


                         I want to subscribe to
                          John’s Gowalla Feed



                      Super
Publisher
Gowalla                                    Drupal Site
                      Feedr
Step 2 of 2: Publish

                •   No polling

                •   No cron runs

                •   Real-time update



               Super
Publisher
Gowalla                            Drupal Site
               Feedr
Any Questions?
References

Feeds Module - http://drupal.org/project/feeds

Flickr Parser - http://drupal.org/project/feeds_flickr

Pubsubhubbub spec - http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-
core-0.3.html

Superfeedr - http://superfeedr.com/

Federated Social Web Google Group - http://groups.google.com/group/federated-social-
web
Credits


•   PubSubHubbub diagrams inspired by Alex
    Barth’s presentation at Drupalcon CPH.

•   Walled social network image - David
    Simonds (The Economist)

More Related Content

Similar to Feeding Drupal in Real-Time

State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCState of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DC
Puppet
 
Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010
Puppet
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With Subversion
Samnang Chhun
 
Automation for the Modern Enterprise - 18 October 2017
Automation for the Modern Enterprise - 18 October 2017Automation for the Modern Enterprise - 18 October 2017
Automation for the Modern Enterprise - 18 October 2017
Claire Priester Papas
 

Similar to Feeding Drupal in Real-Time (20)

Privacy Aware Semantic Dissemination
Privacy Aware Semantic DisseminationPrivacy Aware Semantic Dissemination
Privacy Aware Semantic Dissemination
 
Shortening the feedback loop
Shortening the feedback loopShortening the feedback loop
Shortening the feedback loop
 
Band of brothers, building scalable social web apps on windows azure with asp...
Band of brothers, building scalable social web apps on windows azure with asp...Band of brothers, building scalable social web apps on windows azure with asp...
Band of brothers, building scalable social web apps on windows azure with asp...
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Exploring Google's Social APIs
Exploring Google's Social APIsExploring Google's Social APIs
Exploring Google's Social APIs
 
State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCState of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DC
 
Trend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache BigtopTrend Micro Big Data Platform and Apache Bigtop
Trend Micro Big Data Platform and Apache Bigtop
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017
 
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
 
OSMC 2017 | How is Zabbix doing – an outside look by Rihards Olups
OSMC 2017 | How is Zabbix doing – an outside look by Rihards OlupsOSMC 2017 | How is Zabbix doing – an outside look by Rihards Olups
OSMC 2017 | How is Zabbix doing – an outside look by Rihards Olups
 
Recipes for Drupal distributions
Recipes for Drupal distributionsRecipes for Drupal distributions
Recipes for Drupal distributions
 
Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with git
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With Subversion
 
Go GC: Prioritizing Low Latency and Simplicity
Go GC: Prioritizing Low Latency and SimplicityGo GC: Prioritizing Low Latency and Simplicity
Go GC: Prioritizing Low Latency and Simplicity
 
Automation for the Modern Enterprise - 18 October 2017
Automation for the Modern Enterprise - 18 October 2017Automation for the Modern Enterprise - 18 October 2017
Automation for the Modern Enterprise - 18 October 2017
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable application
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Feeding Drupal in Real-Time

  • 1. Feeding Drupal * Now in Real Time
  • 2. Overview • What is Feeds module all about? • How does Feeds module work? • DEMO: Importing Flickr photos • Real-time feeds with PubSubHubbub • Very Exciting Demonstration with Gowalla!
  • 3. What is Feeds Module? • Import and aggregation framework • Creates nodes, users, taxonomy, flat data... • From RSS / Atom / SOAP / CSV / ... • Mapping of input to Drupal elements • It’s easily extensible and supports PubSubHubbub as a subscriber
  • 4. But, what about... Periodic One-off Imports Imports Aggregator Migrate Feed API Node Import User Import
  • 5. How does it work? Fetcher Parser Processor
  • 6. How does Feeds work? Fetcher Parser Processor HTTP RSS NODE HTTPS ATOM USER FILE FLICKR TAXONOMY ... ... ...
  • 7. How does it work? Feeds Importer { Fetcher HTTP HTTPS FILE ... Parser RSS ATOM FLICKR ... Processor NODE USER TAXONOMY ...
  • 8. Let’s import some stuff Feeds Importer { Fetcher HTTP HTTPS FILE ... Parser RSS ATOM FLICKR ... Processor NODE USER TAXONOMY ...
  • 9. DEMO • Importing photos from Flickr into Drupal nodes • Using location data from GeoRSS feed to display them on a Google map • Import set to run on cron every 30 mins.
  • 10. What’s wrong with that? Are we there yet? Are we there yet? Publisher Subscriber Yes! Here you are. Are we there yet?
  • 11. Solution? Publisher Subscriber
  • 12. Problem Subscriber Subscriber Subscriber Publisher Subscriber Subscriber Subscriber Subscriber
  • 13. Enter PubSubHubbub • A publish / subscribe protocol • Turns Atom and RSS feeds into real-time streams Publisher Hub Subscriber
  • 14. What does it look like?
  • 15. Step 1 of 2: Subscribe I want to subscribe to feed X, send updates to me. Publisher Hub Subscriber Are you for real?
  • 16. Step 2 of 2: Publish Hey subscribers, here’s new content for I have new content feed X for feed X Subscriber Subscriber Publisher Hub Subscriber Subscriber
  • 17. Let’s import some more stuff... • Now in real-time with PuSH • Check into Gowalla from mobile phone • See location update on Google map in Drupal
  • 19. Step 1 of 2: Subscribe • When we created the Gowalla Feed node, we asked the hub to send us updates. I want to subscribe to John’s Gowalla Feed Super Publisher Gowalla Drupal Site Feedr
  • 20. Step 2 of 2: Publish • No polling • No cron runs • Real-time update Super Publisher Gowalla Drupal Site Feedr
  • 21.
  • 23. References Feeds Module - http://drupal.org/project/feeds Flickr Parser - http://drupal.org/project/feeds_flickr Pubsubhubbub spec - http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub- core-0.3.html Superfeedr - http://superfeedr.com/ Federated Social Web Google Group - http://groups.google.com/group/federated-social- web
  • 24. Credits • PubSubHubbub diagrams inspired by Alex Barth’s presentation at Drupalcon CPH. • Walled social network image - David Simonds (The Economist)