SlideShare une entreprise Scribd logo
1  sur  31
Forbes
Supporting distributed global workforce of contributors with
                         MongoDB
David Dunlop   Vadim Supitskiy
Since 1917
On the Web since 1996
Forbes 400
Celebrity 100
 Billionaires
The Old Stack
   2010 and before

   Java (Tomcat)
  Slide ➡ Alfresco
    Perl (iw perl)
     Oracle (8i)
        MySQL
Autonomy Idol Search
       Apache
     Static Files
      javascript

       wordpress
We Became
very cautious about touching
       Core Content
2010
Looked at
Big Iron CMS
WordPress
Thinking
 Larger
Distributed Workforce
The Stack
Programing Languages - JAVA, PHP
  Application Framework - Spring
 Object Mapping Library - Morphia
   Templating - Apache Velocity

 Contributor Platform - Wordpress
       Transport - Mule ESB
           Search - Solr

      Webstore - MongoDB
Structure of Data

    Mapping
    Content
    Authors
   Comments
PromotedContent
{
    "_id": ObjectId("4de835f66417e4765e29d20a"),
    "className": "com.forbes.forbesapi.model.Content",
    "naturalId": "blogAndPostId/blog/post/985-1773",
    "source": "blogs",
    "author": "Kurt Badenhausen",
    "title": "The NBA's Endorsement Stars",
    "date": "Thu Jun 02 2011 23:05:37 GMT-0400 (EDT)",
    "body": "...",
    "blogType": "individual",
    "type": "blog",
    "storyType": "post",
    "uri": "http://blogs.forbes.com/kurtbadenhausen/2011/06/06/the-nbas-endorsement-stars/",
    "visible": true,
    "authors": [
        {
            "$ref": "Author",
            "$id": ObjectId("4d3a6695234f5dfdef87731e")
        }
    ],
    "blogId": "985",
    "permalink": "http://blogs.forbes.com/kurtbadenhausen/2011/06/06/the-nbas-endorsement-stars/",
    "timestamp": "Thu Jun 02 2011 23:05:37 GMT-0400 (EDT)",
    "version": NumberLong( 1.30707e+12 ),
    "specialSlot": "0",
    "sitePage": "forbes.com/business/blogs/kurtbadenhausen/index.html",
    "generatedId": "mli45ekkg",
    "preview": false,
    "promotedChannelSections": [
        {
            "channel": "channel_5",
            "section": "",
            "title": "Draconian Energy Regulation Will Never Die",
            "description": "Many would like to believe energy regulation is comatose. It's immortal.",
            "image": "http://blogs-images.forbes.com/thumbnails/blog_1419/pt_1419_16_o.jpg?t=1302814704",
            "location": "top"
        },
        {
            "channel": "channel_1",
            "section": "section_2",
            "title": "Draconian Energy Regulation Will Never Die",
            "description": "Many would like to believe energy regulation is comatose. In fact, it's immortal.",
            "image": "/images/channels/channel_1_section_2_panel2_0_twoacross-1302882013.jpg",
            "location": "top"
        }
    ],
    "comments": [
        {
            "$ref": "Comment",
            "$id": "blogAndPostId/blog/comment/1419-16-30"
        }
    ],
    "displayChannel": "business",
    "displaySection": "kurtbadenhausenblog"
}
"authors": [
  {
    "$ref": "Author",
    "$id": ObjectId("4d3a6695234f5dfdef87731e")
  }
]
"comments": [
  {
     "$ref": "Comment",
     "$id": "blogAndPostId/blog/comment/1419-16-30"
  },
  ...
]
{
  "_id" : ObjectId("4d3b3ad0bd206022d766690b"),
  "className" : "com.forbes.forbesapi.model.PromotedContent",
  "channel" : "channel_6",
  "section" : "section_41",
  "location" : "top",
  "panel" : "threesm",
  "contentPositions" : [
    {
       "position" : 1,
       "content" : {
         "$ref" : "Content",
         "$id" : ObjectId("4de64e036417e476a1cdd00a")
       }
    },
...
],
  "panelId" : "panel4"
}
"promotedChannelSections": [
   {
      "channel": "channel_5",
      "section": "",
      "title": "Draconian Energy Regulation...",
      "description": "Many would like...",
      "image": "http://blogs-images.forbes...",
      "location": "top"
   },
  ...
]
List Data

   People
   Places
Organizations
Other MongoDB uses at
       Forbes

        Stats
      Scrumblr
   Status Reports

Contenu connexe

Tendances

Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
Jeremy Kendall
 
Propel sfugmd
Propel sfugmdPropel sfugmd
Propel sfugmd
iKlaus
 

Tendances (20)

Php 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the GoodPhp 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the Good
 
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
 
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
 
JSON Schema in Web Frontend #insideFE
JSON Schema in Web Frontend #insideFEJSON Schema in Web Frontend #insideFE
JSON Schema in Web Frontend #insideFE
 
Propel sfugmd
Propel sfugmdPropel sfugmd
Propel sfugmd
 
Pagination in PHP
Pagination in PHPPagination in PHP
Pagination in PHP
 
Country State City Dropdown in PHP
Country State City Dropdown in PHPCountry State City Dropdown in PHP
Country State City Dropdown in PHP
 
CSS: A Slippery Slope to the Backend
CSS: A Slippery Slope to the BackendCSS: A Slippery Slope to the Backend
CSS: A Slippery Slope to the Backend
 
php Mailer
php Mailerphp Mailer
php Mailer
 
Add edit delete in Codeigniter in PHP
Add edit delete in Codeigniter in PHPAdd edit delete in Codeigniter in PHP
Add edit delete in Codeigniter in PHP
 
Add loop shortcode
Add loop shortcodeAdd loop shortcode
Add loop shortcode
 
JSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataJSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked Data
 
Data Mangling with mongoDB the Right Way [PyData London] 2016]
Data Mangling with mongoDB the Right Way [PyData London] 2016]Data Mangling with mongoDB the Right Way [PyData London] 2016]
Data Mangling with mongoDB the Right Way [PyData London] 2016]
 
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
SFScon17 - Patrick Puecher: "Exploring data with Elasticsearch and Kibana"
 
Hpage
HpageHpage
Hpage
 
Why Hacking WordPress Search Isn't Some Big Scary Thing
Why Hacking WordPress Search Isn't Some Big Scary ThingWhy Hacking WordPress Search Isn't Some Big Scary Thing
Why Hacking WordPress Search Isn't Some Big Scary Thing
 
ELK Stack - Turn boring logfiles into sexy dashboard
ELK Stack - Turn boring logfiles into sexy dashboardELK Stack - Turn boring logfiles into sexy dashboard
ELK Stack - Turn boring logfiles into sexy dashboard
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication Media
 
Ch1(introduction to php)
Ch1(introduction to php)Ch1(introduction to php)
Ch1(introduction to php)
 
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018Let's write secure Drupal code! - DrupalCamp Oslo, 2018
Let's write secure Drupal code! - DrupalCamp Oslo, 2018
 

Similaire à Forbes MongoNYC 2011

Sakai customization talk
Sakai customization talkSakai customization talk
Sakai customization talk
croby
 
Mongoid in the real world
Mongoid in the real worldMongoid in the real world
Mongoid in the real world
Kevin Faustino
 

Similaire à Forbes MongoNYC 2011 (20)

Api vortrag
Api vortragApi vortrag
Api vortrag
 
NoSQL & MongoDB
NoSQL & MongoDBNoSQL & MongoDB
NoSQL & MongoDB
 
Abusing text/template for data transformation
Abusing text/template for data transformationAbusing text/template for data transformation
Abusing text/template for data transformation
 
Winning with Structured Data and Schema.org - OMLIVE 2018
Winning with Structured Data and Schema.org - OMLIVE 2018Winning with Structured Data and Schema.org - OMLIVE 2018
Winning with Structured Data and Schema.org - OMLIVE 2018
 
Sakai customization talk
Sakai customization talkSakai customization talk
Sakai customization talk
 
OSCON 2011 CouchApps
OSCON 2011 CouchAppsOSCON 2011 CouchApps
OSCON 2011 CouchApps
 
Example-driven Web API Specification Discovery
Example-driven Web API Specification DiscoveryExample-driven Web API Specification Discovery
Example-driven Web API Specification Discovery
 
Automatic discovery of Web API Specifications: an example-driven approach
Automatic discovery of Web API Specifications: an example-driven approachAutomatic discovery of Web API Specifications: an example-driven approach
Automatic discovery of Web API Specifications: an example-driven approach
 
MongoDB
MongoDBMongoDB
MongoDB
 
SDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - JapanSDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - Japan
 
CouchDB at New York PHP
CouchDB at New York PHPCouchDB at New York PHP
CouchDB at New York PHP
 
Scala & sling
Scala & slingScala & sling
Scala & sling
 
Chimoora - Joomla! websites on mobile devices (jwc12)
Chimoora - Joomla! websites on mobile devices (jwc12)Chimoora - Joomla! websites on mobile devices (jwc12)
Chimoora - Joomla! websites on mobile devices (jwc12)
 
Chimoora - Joomla Websites auf mobilen Geräten (jd12de)
Chimoora - Joomla Websites auf mobilen Geräten (jd12de)Chimoora - Joomla Websites auf mobilen Geräten (jd12de)
Chimoora - Joomla Websites auf mobilen Geräten (jd12de)
 
Back to Basics Webinar 3: Schema Design Thinking in Documents
 Back to Basics Webinar 3: Schema Design Thinking in Documents Back to Basics Webinar 3: Schema Design Thinking in Documents
Back to Basics Webinar 3: Schema Design Thinking in Documents
 
Back to Basics Webinar 3 - Thinking in Documents
Back to Basics Webinar 3 - Thinking in DocumentsBack to Basics Webinar 3 - Thinking in Documents
Back to Basics Webinar 3 - Thinking in Documents
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensions
 
Mongoid in the real world
Mongoid in the real worldMongoid in the real world
Mongoid in the real world
 
Managing Social Content with MongoDB
Managing Social Content with MongoDBManaging Social Content with MongoDB
Managing Social Content with MongoDB
 
Webinar: General Technical Overview of MongoDB for Dev Teams
Webinar: General Technical Overview of MongoDB for Dev TeamsWebinar: General Technical Overview of MongoDB for Dev Teams
Webinar: General Technical Overview of MongoDB for Dev Teams
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

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
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Forbes MongoNYC 2011

  • 1. Forbes Supporting distributed global workforce of contributors with MongoDB
  • 2. David Dunlop Vadim Supitskiy
  • 4. On the Web since 1996
  • 6. The Old Stack 2010 and before Java (Tomcat) Slide ➡ Alfresco Perl (iw perl) Oracle (8i) MySQL Autonomy Idol Search Apache Static Files javascript wordpress
  • 7. We Became very cautious about touching Core Content
  • 8.
  • 11.
  • 13.
  • 16.
  • 17. The Stack Programing Languages - JAVA, PHP Application Framework - Spring Object Mapping Library - Morphia Templating - Apache Velocity Contributor Platform - Wordpress Transport - Mule ESB Search - Solr Webstore - MongoDB
  • 18.
  • 19. Structure of Data Mapping Content Authors Comments PromotedContent
  • 20. { "_id": ObjectId("4de835f66417e4765e29d20a"), "className": "com.forbes.forbesapi.model.Content", "naturalId": "blogAndPostId/blog/post/985-1773", "source": "blogs", "author": "Kurt Badenhausen", "title": "The NBA's Endorsement Stars", "date": "Thu Jun 02 2011 23:05:37 GMT-0400 (EDT)", "body": "...", "blogType": "individual", "type": "blog", "storyType": "post", "uri": "http://blogs.forbes.com/kurtbadenhausen/2011/06/06/the-nbas-endorsement-stars/", "visible": true, "authors": [ { "$ref": "Author", "$id": ObjectId("4d3a6695234f5dfdef87731e") } ], "blogId": "985", "permalink": "http://blogs.forbes.com/kurtbadenhausen/2011/06/06/the-nbas-endorsement-stars/", "timestamp": "Thu Jun 02 2011 23:05:37 GMT-0400 (EDT)", "version": NumberLong( 1.30707e+12 ), "specialSlot": "0", "sitePage": "forbes.com/business/blogs/kurtbadenhausen/index.html", "generatedId": "mli45ekkg", "preview": false, "promotedChannelSections": [ { "channel": "channel_5", "section": "", "title": "Draconian Energy Regulation Will Never Die", "description": "Many would like to believe energy regulation is comatose. It's immortal.", "image": "http://blogs-images.forbes.com/thumbnails/blog_1419/pt_1419_16_o.jpg?t=1302814704", "location": "top" }, { "channel": "channel_1", "section": "section_2", "title": "Draconian Energy Regulation Will Never Die", "description": "Many would like to believe energy regulation is comatose. In fact, it's immortal.", "image": "/images/channels/channel_1_section_2_panel2_0_twoacross-1302882013.jpg", "location": "top" } ], "comments": [ { "$ref": "Comment", "$id": "blogAndPostId/blog/comment/1419-16-30" } ], "displayChannel": "business", "displaySection": "kurtbadenhausenblog" }
  • 21. "authors": [ { "$ref": "Author", "$id": ObjectId("4d3a6695234f5dfdef87731e") } ]
  • 22. "comments": [ { "$ref": "Comment", "$id": "blogAndPostId/blog/comment/1419-16-30" }, ... ]
  • 23.
  • 24.
  • 25.
  • 26. { "_id" : ObjectId("4d3b3ad0bd206022d766690b"), "className" : "com.forbes.forbesapi.model.PromotedContent", "channel" : "channel_6", "section" : "section_41", "location" : "top", "panel" : "threesm", "contentPositions" : [ { "position" : 1, "content" : { "$ref" : "Content", "$id" : ObjectId("4de64e036417e476a1cdd00a") } }, ... ], "panelId" : "panel4" }
  • 27. "promotedChannelSections": [ { "channel": "channel_5", "section": "", "title": "Draconian Energy Regulation...", "description": "Many would like...", "image": "http://blogs-images.forbes...", "location": "top" }, ... ]
  • 28.
  • 29. List Data People Places Organizations
  • 30.
  • 31. Other MongoDB uses at Forbes Stats Scrumblr Status Reports

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. People\nPlaces\nOrganizations\n
  6. \n
  7. \n
  8. Using DBs for Queues\n
  9. \n
  10. \n
  11. \n
  12. \n
  13. Java\nSpring\nHibernate\nMySQL\nVelocity Templates\n
  14. Rethinking all the processes that we have in place and how we could make them better\n
  15. Not everyone is in the office, or on the vpn. Contributors need to \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. Options: Topic, Channel Section, RSS\n
  29. \n
  30. \n
  31. Stats queued, h2, java\nKanban Boards\n\n