social content management with mongodb
DESCRIPTION
We will provide an overview of the architecture and design of a lightweight content management system built on MongoDB. Ideally suited for managing social content -- creating a blog site, a discussion forum, or adding user generated content to an existing website -- Crafter Social is an open source Java app built on MongoDB. Our talk will focus on design considerations and MongoDB's unique features that make it perfectly suitable as a highly-scalable, multi-tenant social object store. We use MongoDB to store social objects of all types: user comments, threaded discussions, blog entries, and more. The document-oriented approach of MongoDB provides the foundation for social content management applications that need high-performance, high-scalability, and rapid speed of development. We also cover our design approach for user profile management, which supports configurable (on-the-fly) profile attributes, roles management, and pluggable authentication.TRANSCRIPT
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Social Content Management with MongoDB
byRivet Logic
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Solution Requirements
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Common UGC Use Cases
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Multi-tenant
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Scalable
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Secure UGC Repository
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Lightweight Integration
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Solution Requirements
• Covers common UGC use cases
• Multi-tenant
• Scalable
• Secure UGC repository
• Lightweight Integration
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Crafter Social & Crafter Profile
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Crafter Profile
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Crafter Social
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Crafter Profile & Social
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Use Cases
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Blog
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Product
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Architecture Overview
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Social Integration
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Profile Integration
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
OOTB Applications
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Why MongoDB?
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Document-Oriented Storage
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Full Index Support
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Rich Queries
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Fast In-place Updates
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Replication
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
GridFS
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Auto-sharding
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Map/Reduce
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Why MongoDB?
o Document-oriented storageo Full Index Supporto Rich queries & fast in-place updateso Replication & high availabilityo GridFSo Auto-shardingo Map/Reduce
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
System Design
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Database Design
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Multi-Tenancy
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Security - Authentication
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Security - Authorization
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Scalability
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Example - Simple Blog Demo
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
ARTISANS OF OPEN SOURCE
Copyright © 2013. Rivet Logic Corporation. All rights reserved.
Q&A
wiki.rivetlogic.com/display/Crafter/Crafter+Social
rivetlogic.com
blogs.rivetlogic.com
facebook.com/rivetlogic
youtube.com/rivetlogic
twitter.com/rivetlogic
crafterrivet.org