• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Using WordPress as an Application Framework
 

Using WordPress as an Application Framework

on

  • 1,301 views

 

Statistics

Views

Total Views
1,301
Views on SlideShare
1,170
Embed Views
131

Actions

Likes
6
Downloads
15
Comments
1

3 Embeds 131

http://hmn.md 129
http://www.hmn.md 1
https://twitter.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • WordPress has more powerful plugins, that helps the end-user to create and maintain their website, blog very easy
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Using WordPress as an Application Framework Using WordPress as an Application Framework Presentation Transcript

    • WordPress is an Application FrameworkFriday, 17 August 12 1
    • Tom Willmot humanmade • happytables • wpremote @tomwillmot tomwillmot.com @humanmadeltd hmn.md @wpremote wpremote.com @happytables happytables.com github.com/humanmadeFriday, 17 August 12 2
    • WordPress is not just for blogging.Friday, 17 August 12 3
    • WordPress is a CMS.Friday, 17 August 12 4
    • WordPress is not just a CMS.Friday, 17 August 12 5
    • WordPress is an Application Framework.Friday, 17 August 12 6
    • Friday, 17 August 12 7
    • • What is an Application Framework • What makes WordPress an Application Framework • How we built the WP Remote web app on WordPress.Friday, 17 August 12 8
    • What is an Application FrameworkFriday, 17 August 12 9
    • A web application framework is a software framework that is designed to support the development of dynamic websites,Web applications and Web services.The framework aims to alleviate the overhead associated with common activities performed in Web development. For example, many frameworks provide libraries for database access, templating frameworks and session management, and often promote code reuse. http://en.wikipedia.org/wiki/Web_application_frameworkFriday, 17 August 12 10
    • That sounds a lot like WordPress!Friday, 17 August 12 11
    • A web application framework is a software framework that is designed to support the development of dynamic websites,Web applications and Web services.The framework aims to alleviate the overhead associated with common activities performed in Web development. For example, many frameworks provide libraries for database access, templating frameworks and session management, and often promote code reuse. http://en.wikipedia.org/wiki/Web_application_frameworkFriday, 17 August 12 12
    • A web application framework is a software framework that is designed to support the development of dynamic websites,Web applications and Web services.The framework aims to alleviate the overhead associated with common activities performed in Web development. For example, many frameworks provide libraries for database access, templating frameworks and session management, and often promote code reuse. http://en.wikipedia.org/wiki/Web_application_frameworkFriday, 17 August 12 13
    • WordPress is web software you can use to create a beautiful website or blog.Friday, 17 August 12 14
    • WordPress is an Application Framework that happens to come with a default app called “Blog”.Friday, 17 August 12 15
    • WordPress is web software you can use to create a beautiful app, website or blog.Friday, 17 August 12 16
    • Application Frameworks are libraries of useful API’s & ClassesFriday, 17 August 12 17
    • Core API’s • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 18
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 19
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 20
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 21
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 22
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 23
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 24
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 25
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 26
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 27
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 28
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 29
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 30
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 31
    • • HTTP • XMLRPC • WP_User • WP_Rewrite • WPDB • WP_Cache & Transients • WP_Scripts • WP_Filesystem • admin-ajax.php • I18N • WP_Query • Security • Templating system • An Administration interfaceFriday, 17 August 12 32
    • What did I miss?Friday, 17 August 12 33
    • The thing that makes WordPress uniquely powerful?Friday, 17 August 12 34
    • add_filter();Friday, 17 August 12 35
    • 3rd Party API’s • TLC Transients • WP Thumb • Custom Meta Box API • WordPress ObjectsFriday, 17 August 12 36
    • • TLC Transients https://github.com/markjaquith/WP-TLC- Transients • WP Thumb • Custom Meta Box API • WordPress Objects • Term MetaFriday, 17 August 12 37
    • • TLC Transients • WP Thumb https://github.com/humanmade/WPThumb • Custom Meta Box API • WordPress Objects • Term MetaFriday, 17 August 12 38
    • • TLC Transients • WP Thumb • Custom Meta Box API https://github.com/humanmade/Customs • WordPress Objects • Term MetaFriday, 17 August 12 39
    • • TLC Transients • WP Thumb • Custom Meta Box API • WordPress Objects https://github.com/humanmade/WordPress- Objects • Term MetaFriday, 17 August 12 40
    • • TLC Transients • WP Thumb • Custom Meta Box API • WordPress Objects • Term Meta https://gist.github.com/2953813Friday, 17 August 12 41
    • All these API’s can be used without the “Blog” part of WordPressFriday, 17 August 12 42
    • Still need convincing? • Continuously improved. • Great backwards compatibility support. • Super easy to jump in and get started. • Can run on literally any server. • Widely tested, runs 16.7% of the web, some of the largest sites in the world.Friday, 17 August 12 43
    • Why Not • Some of the core API’s are old and nasty. • It doesn’t enforce a strict MVC structure. https://github.com/markjaquith/WordPress-Skeleton/ • People might think your not a real software engineer if your not using Ruby to build your web app.Friday, 17 August 12 44
    • WordPress powered Apps!Friday, 17 August 12 45
    • WP Remote Quick DemoFriday, 17 August 12 46
    • WordPress Knockout.js JSON Back-end Front-end JSON WordPress Plugin Client SiteFriday, 17 August 12 47
    • • Users • Sites • Site Meta • Core, Plugin and Theme updates • Groups • History • Backups • SettingsFriday, 17 August 12 48
    • Users • Standard WordPress subscriber level users. • Custom Login, Registration and Lost Password pages and Change Password pages.Friday, 17 August 12 49
    • Sites • Sites are stored as a custom post_type. • Each site has the post_author set to the user that owns the site. • The site status is set to private to signify that users sites are private to them. • Meta information about the site like home_url, admin_url etc. are stored in post_meta. As are lists of backups, history items and plugins and themes that need updating.Friday, 17 August 12 50
    • Site Groups • Site Group is a custom taxonomy • Each group is a new term in that taxonomy • Doesn’t matter if 2 users unknowingly use the same group as each user only sees sites that they own. • We use a custom term_meta table to store things like whether a group is collapsed or not.Friday, 17 August 12 51
    • Plugin • Installed on each of the users sites • We use the HTTP API to communicate between the back-end and Plugin. • The Plugin hooks into the Core, Plugin & Theme update API’s to do the actual updates.Friday, 17 August 12 52
    • Others • AMC Story Sync http://www.amctv.com/shows/breaking-bad/ story-sync • Bendy Words http://bendywords.com/demo-board/ • StudioPress http://www.woothemes.com/2011/07/ supportpress/Friday, 17 August 12 53
    • Done!Friday, 17 August 12 54
    • Thanks For ListeningFriday, 17 August 12 55
    • Ask Questions Now Or later on twitter @tomwillmotFriday, 17 August 12 56