introducing mongopress

26
Introducing MongoPress The MongoDB-Powered CMS

Upload: mark-smalley

Post on 29-Jan-2015

109 views

Category:

Technology


1 download

DESCRIPTION

MongoPress is an instantly scalable, incredibly flexible CMS that uses MongoDB and PHP to deliver a powerful object-oriented environment that is flexible and free. It is not only freely licensed and distributed under a generous GPL license, but it is also free from the constraints that many of the leading MySQL-based CMS platforms suffer from.

TRANSCRIPT

Page 1: Introducing MongoPress

Introducing MongoPressThe MongoDB-Powered CMS

Page 2: Introducing MongoPress

Who is Mark Smalley…?Who is Mark Smalley…?

• British Born (Hastings – famous in 1066)• Living in Malaysia for 15+ Years• OpenSource Fanatic• Ex-WordPress Advocate• Ex-BuddyPress Developer• Geo-Location Specialist• Front-End / UX Developer• 1st Programming Language was Flash

Page 3: Introducing MongoPress

Or am I really introducing NoSQL…?Or am I really introducing NoSQL…?

“ NoSQL is an umbrella term for a loosely

defined class of non-relational data stores that break with a long history of relational databases and ACID guarantees. Data stores that fall under this term may not require fixed table schemas, and usually avoid join operations.

Page 4: Introducing MongoPress

“ Don’t empty my mind! I’ve spent my whole life filling it! ”

Page 5: Introducing MongoPress

The right tools for the right job!The right tools for the right job!

• ACID Compliance at Core is Cumbersome• External Relationships are Complicated• External Logic is Insane

My Personal Preferences:My Personal Preferences:

• Control Relationships & Logic from App• Use Fast Database for Data• Maintain Fewer Languages

Page 6: Introducing MongoPress

What does this mean…?What does this mean…?

• It means things are about to drastically change• Developers can now control the entire process• With incredible ease and in native ways…

For example, with mongoDB, I can:For example, with mongoDB, I can:

• Develop database via PHP and JavaScript• Never worry about DB schemas again!• Never leave my App – push changes from App

Page 7: Introducing MongoPress

But why mongoDB…?But why mongoDB…?

• OpenSource & Adaptive• Production Proven• Incredibly Fast• Replica-Sets & Sharding• Schema-less JSON-Data• Advanced JS Queries• Good Geo-Location Support• GridFS Media Storage• SQL Friendly

Page 8: Introducing MongoPress

The History of MongoPressThe History of MongoPress

• Started as a WordPress Plugin-- Where we initially hoped to filter SQL requests

• Almost Became a WordPress Fork-- In order to maintain the WordPress UI

• Now Stands Alone-- Finally realised we had the opportunity to start something unique

Page 9: Introducing MongoPress

What’s wrong with WordPress…?What’s wrong with WordPress…?

• It’s built on MySQL-- Which does not scale well (out-of-the-box)

• It’s built with MySQL in mind-- At core, it’s based on antiquated table architectures

• It’s built with PUBLISHING in mind-- At core, it’s a publishing platform

Page 10: Introducing MongoPress

Enough Small Talk! What and Where is MongoPress…?

Page 11: Introducing MongoPress

Important DisclaimerImportant Disclaimer

• We’re only at Version 0.2.3-- 23% towards our intended initial release

• Version 0.3 is a COMPLETE Re-Write-- Built from ground-up with frameworks and fully OOP-ed

• Dr. Hans Zarkov is Fictional-- We’ve been somewhat inspired by Flash Gordon

Page 12: Introducing MongoPress

MongoPress FeaturesMongoPress Features

• It’s OpenSource-- Featuring a generous GPLv3 license and public access to SVN

• It’s Extremely Fast & Instantly Scalable-- Out-of-the-box support for replica-sets, sharding and even nginx

• It’s Incredibly Secure & Search Engine Friendly-- SHA(256) salted encryption and segregated user-data-- Filterable attribute tags for <a> and <img>

Page 13: Introducing MongoPress

MongoPress FeaturesMongoPress Features

• It’s Completely Flexible & Entirely Customisable-- Admin pages, core structure & content can be added via themes

• It’s Fully Translatable-- WP Language API for methods such as __(‘return’) or _e(‘echo’)

• Scalable Media-Storage & Serving-- The media-gallery utilises GridFS and is backed-up and balanced-- With HTML5 drag-and-drop file uploading

Page 14: Introducing MongoPress

MongoPress FeaturesMongoPress Features

• It’s Developer Friendly-- WP Plugin API for methods such as add_filter() and add_action()

• It Features Perma-Trails rather than Permalinks-- Create virtual structures with intelligent querying

• Geo-Location at Core-- Store coordinates for objects and perform location based queries

• It also has a (not-yet famous) 5 Second Install

Page 15: Introducing MongoPress

What does it look like…?Is it pretty…?

Page 16: Introducing MongoPress

Current Default ThemeCurrent Default ThemeAs seen at – http://mongopress.org

Page 17: Introducing MongoPress

Current Default ThemeCurrent Default ThemeResponsive & Cross-Browser / Device Compatible

Page 18: Introducing MongoPress

Current Default Admin ThemeCurrent Default Admin ThemeMobile Compatible & Customisable

Page 19: Introducing MongoPress

Current Default Admin ThemeCurrent Default Admin ThemeMedia-Gallery (with Drag & Drop Uploading)

Page 20: Introducing MongoPress

How do we build themes…?How do we build themes…?

Page 21: Introducing MongoPress

The world’s simplest MongoPress ThemeThe world’s simplest MongoPress Theme

1. mp_get_header(); // Must include this!

2. $object_format = array(

3. 'type' => 'content',

4. 'style' => 'article',

5. );

6. mp_content($object_format);

7. mp_get_footer(); // Must include this!

Page 22: Introducing MongoPress

What about plugins…?What about plugins…?

Page 23: Introducing MongoPress

Growing List of Hooks & FiltersGrowing List of Hooks & Filters

Page 24: Introducing MongoPress

Currently Included MU-PluginsCurrently Included MU-Plugins

• contact_form - HTML5 / AJAX Powered

• rss - Includes - geoRSS Support

• ddos_protection - Experimental Firewall

• default_header - Uses GridFS Media

• analytics_footer - Google Only

• download_counter - Uses GridFS Media

Page 25: Introducing MongoPress

Thanks for letting me empty your mind!Thanks for letting me empty your mind!

Page 26: Introducing MongoPress

More InformationMore Information

• Mark on Twitter = @m_smalley

• MongoPress = @mongopress-- The High-Performance MongoDB CMS – http://mongopress.org

• MongoMail = @mongomail-- MongoDB-Powered Email Management – http://mongomail.org

• MongoKong = @mongo_kong-- HTML5 Social-Gaming Management – http://mongokong.com