using wordpress as an application platform -- #wcmke 2014

33
USING WORDPRESS AS AN APPLICATION PLATFORM @danpastori 521dimensions.com #wcmke

Upload: serversideup

Post on 30-Nov-2014

557 views

Category:

Software


4 download

DESCRIPTION

This presentation was presented at Wordcamp Milwaukee in 2014 by @danpastori. The information covered allows you to discover the hidden capabilities of Wordpress and using Wordpress as an application platform.

TRANSCRIPT

Page 1: Using Wordpress As An Application Platform -- #WCMKE 2014

U S I N G W O R D P R E S S A S A N

APPLICATION PLATFORM

@danpastori

521dimensions.com

#wcmke

Page 2: Using Wordpress As An Application Platform -- #WCMKE 2014

I live in

MILWAUKEE

521 Dimensions

Live in downtown Milwaukee Co-Founder of 521 Dimensions Coffee by day, beer by night

Page 3: Using Wordpress As An Application Platform -- #WCMKE 2014

What defines an app?

Lead into “Let’s go back in time”

Page 4: Using Wordpress As An Application Platform -- #WCMKE 2014

We’re in a time machine

Page 5: Using Wordpress As An Application Platform -- #WCMKE 2014

Trained Professional

User (Data Consumer)

Data/Content

Data/Content

1994 (Static Sites)

Basic Websites - Maintained by trained individuals - Static content - Very little user interaction - Users consume data

Page 6: Using Wordpress As An Application Platform -- #WCMKE 2014

Data/Content

Trained Professionals and authors

Readers/Commenters

Data/Content

2004 (Web 2.0)

Blogs/Dynamic Sites - Maintained by a group of trained individuals - Content is more up-to-date/live - Users mainly consume data but can provide data in comments and social interaction

Page 7: Using Wordpress As An Application Platform -- #WCMKE 2014

2004 to

2014 (ecommerce)

Ecommerce - Have to begin accounting for user mistakes - User interaction increased, more forms, shopping cart etc

Page 8: Using Wordpress As An Application Platform -- #WCMKE 2014

2004 to

2014 (App Frameworks)

Application Platforms - Prevents developers from repeating tasks - Accounts for common app entities and processes - Provides some security

Page 9: Using Wordpress As An Application Platform -- #WCMKE 2014

What defines an app?

Page 10: Using Wordpress As An Application Platform -- #WCMKE 2014

Developers/Admins

Users

Not creating data

My Web App

User contributed data (majority)

Apps - Roles switch from trained admins to un-trained users - Have to account for no one understanding your app - Large emphasis on security - Dynamic screen data

Page 11: Using Wordpress As An Application Platform -- #WCMKE 2014

Developers/Admins

PERMISSIONS

My Web App

Apps - Users are not just site managers - Privacy policies - Permission levels

Page 12: Using Wordpress As An Application Platform -- #WCMKE 2014

Developers/Admins

DATA SHARING

My Web App

Apps - Large amounts of data - Have to define who sees what and who has permissions to perform what functions.

Page 13: Using Wordpress As An Application Platform -- #WCMKE 2014

I don’t have to worry about creating data!?

THIS IS GOING TO BE EASY!

Page 14: Using Wordpress As An Application Platform -- #WCMKE 2014

WRONG!- You may not have to create data, but you have to account for bad data - Deal with large quantities of data, speed of display, and unknowns - Users WILL enter bad data, have to cleanse

Page 15: Using Wordpress As An Application Platform -- #WCMKE 2014

Demo

-Show Musi(q) -Explain what makes it an app

Page 16: Using Wordpress As An Application Platform -- #WCMKE 2014

-State of the Word explained that WP can be used to build apps.

Page 17: Using Wordpress As An Application Platform -- #WCMKE 2014

We can be an app platform!

- State of the Word showed an example of an application written on Wordpress. - Totally possible, just have to think differently about Wordpress’ features.

Page 18: Using Wordpress As An Application Platform -- #WCMKE 2014

Plugins vs app

Plugins: -Solve small problems, remain inside the core functionality and use case of Wordpress. !Apps: -Stray away from Wordpress core use cases -Uses Wordpress in a more modular fashion -Opens up normally administrative functions to general users

Page 19: Using Wordpress As An Application Platform -- #WCMKE 2014

Can Wordpress run applications now?

Page 20: Using Wordpress As An Application Platform -- #WCMKE 2014

YOU BETCHA!

-This is Musi(q)’s database, Musi(q) is build off of Wordpress

Page 21: Using Wordpress As An Application Platform -- #WCMKE 2014

What do I need to know to develop wordpress APPs?

- Strong understanding of PHP, JS, CSS and how they work together - Strong understanding of WP Dev - Attention to detail - Understanding of how applications are created and function.

Page 22: Using Wordpress As An Application Platform -- #WCMKE 2014

When not to use wordpress for apps

Page 23: Using Wordpress As An Application Platform -- #WCMKE 2014

Complex permissions

- You can extend and create roles and permissions within WP, but complex scenarios and groups become a burden.

Page 24: Using Wordpress As An Application Platform -- #WCMKE 2014

large, large amounts of data

- You can create your own tables within the Wordpress install, but there comes a point where you have to scale, or use a non-relational database.

Page 25: Using Wordpress As An Application Platform -- #WCMKE 2014

Features that make Wordpress AWESOME for Apps

Page 26: Using Wordpress As An Application Platform -- #WCMKE 2014

MULTISITE

-Manage API, Marketing Site, App all in one place -Plugins make it modular. You can separate functionality across sites.

Page 27: Using Wordpress As An Application Platform -- #WCMKE 2014

Custom post Types

- Custom post types allow the developer essentially extend an object to make an app. - WPDB object works with custom post types already - Very customizable and easy to filter and work with the default template system.

Page 28: Using Wordpress As An Application Platform -- #WCMKE 2014

Custom taxonomies

-Allows for easy searching/sorting -Works with Custom Post Types -Works with Template system -Allows you to run simple filters without much SQL knowledge

Page 29: Using Wordpress As An Application Platform -- #WCMKE 2014

Extend and create users

-Ability to make custom users and permission hierarchy -add_role( $role, $display_name, $capabilities ); -Can block Wordpress admin per user, they won’t even know it’s built on Wordpress

Page 30: Using Wordpress As An Application Platform -- #WCMKE 2014

Awesome templating system

- Templates/Themes and Plugins work together almost in a MVC type theory - When using custom post types to handle app objects, and with the Wordpress defined templates/themes,

you can almost think your app has an ORM

Page 31: Using Wordpress As An Application Platform -- #WCMKE 2014

Creating apis

- Apps have other sources of data creation (plugins, iOS/Android apps, etc.) - Create a sub-site and activate your API handler plugin. - Can create an API theme that shows instructions if not making API calls. - On init, check for key, if key then handle by API plugin and export JSON. - DANGER: Lots of authentication checks need to take place.

Page 33: Using Wordpress As An Application Platform -- #WCMKE 2014

Q&A@danpastori#wcmke

http://musiq.io