using wordpress as an application framework

61
WORDPRESS APPLICATION FRAMEWORK BY BRAD WILLIAMS Brad Williams @williamsba

Upload: brad-williams

Post on 17-May-2015

4.270 views

Category:

Technology


0 download

DESCRIPTION

My WordCamp Miami 2013 presentation on Using WordPress as an Application Framework

TRANSCRIPT

Page 1: Using WordPress as an Application Framework

WORDPRESS APPLICATION FRAMEWORK BY  BRAD  WILLIAMS  

Brad Williams @williamsba

Page 2: Using WordPress as an Application Framework

WHO IS BRAD?

Brad Williams @williamsba

Brad  Williams    

Co-­‐Founder  WebDevStudios.com  Co-­‐Author  Professional  WordPress    

 &  Professional  WordPress        Plugin  Development  

Co-­‐Organizer  WordCamp  Philly  Co-­‐Host  DradCast  

Page 3: Using WordPress as an Application Framework

TODAY’S TOPICS

Brad Williams @williamsba

 

• What  is  an  ApplicaIon  Framework?  • Why  WordPress?  • ApplicaIons  Powered  by  WordPress  

Page 4: Using WordPress as an Application Framework

APPLICATION FRAMEWORK

Brad Williams @williamsba

An  applica&on  framework  consists  of  a  soMware  framework  used  by  soMware  developers  to  implement  the  standard  

structure  of  an  applicaIon  

Page 5: Using WordPress as an Application Framework

APPLICATION FRAMEWORK

Brad Williams @williamsba

•  User  Management  •  Template  Engine  •  Error  Logging  •  LocalizaIon  •  Form  &  Data  ValidaIon  •  File  Uploading  &  media  management  •  Image  manipulaIon  •  Search-­‐engine  Friendly  URLs  •  External  APIs  •  Ability  to  extend  using  hooks  &  classes  or  plugins  •  Scheduled  code  execuIon  •  Caching  •  Extensibility  

ApplicaIon  Framework  Features  

Page 6: Using WordPress as an Application Framework

APPLICATION FRAMEWORK

Brad Williams @williamsba

•  User  Management  •  Template  Engine  •  Error  Logging  •  LocalizaIon  •  Form  &  Data  ValidaIon  •  File  Uploading  &  media  management  •  Image  manipulaIon  •  Search-­‐engine  Friendly  URLs  •  External  APIs  •  Ability  to  extend  using  hooks  &  classes  or  plugins  •  Scheduled  code  execuIon  •  Caching  •  Extensibility  

WordPress  Features  

Page 7: Using WordPress as an Application Framework

APPLICATION FRAMEWORK

Brad Williams @williamsba

Why  reinvent  the  wheel?  

Page 8: Using WordPress as an Application Framework

APPLICATION FRAMEWORK

Brad Williams @williamsba

Always  start  with  a  solid  foundaIon  

Page 9: Using WordPress as an Application Framework

BAD FOUNDATION

Brad Williams @williamsba

Bad  FoundaIon  

Page 10: Using WordPress as an Application Framework

GOOD FOUNDATION

Brad Williams @williamsba

Good  FoundaIon  

Page 11: Using WordPress as an Application Framework

BAD FOUNDATION

Brad Williams @williamsba

Bad  FoundaIon  

Page 12: Using WordPress as an Application Framework

GOOD FOUNDATION

Brad Williams @williamsba

Good  FoundaIon  

Page 13: Using WordPress as an Application Framework

OUTSIDE THE BOX

Brad Williams @williamsba

Today’s  Goal:  Think  Outside  the  Box  

Page 14: Using WordPress as an Application Framework

THINK OUTSIDE THE BOX

Brad Williams @williamsba

Page 15: Using WordPress as an Application Framework

SECURITY STATS FOR  WORDPRESS  

Brad Williams @williamsba

Page 16: Using WordPress as an Application Framework

EXAMPLE TIME

Brad Williams @williamsba

Let’s  Look  at  Some  Examples!  

Page 17: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

What  did  we  build?    •  App  to  end  world  hunger?  •  App  to  solve  a  criIcal  problem?  •  App  to  provide  a  useful  service?  

WordPress  iPhone  App  

Page 18: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

Of  course  not!    We  built      

Location Based Pee Tracking

Page 19: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

Existing users can login (and remember me) Authenticates using WordPress

Page 20: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

New users can register an account (in WordPress)

Page 21: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

Users can PLOT and add a simple description

Page 22: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

PLOT is saved and all existing plots are listed

Page 23: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

Each PLOT is a post in WordPress Geo data is saved as post metadata (custom fields)

Page 24: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

Every post is listed in WordPress as normal

Page 25: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

Profile  pages  show  user’s  latest  plots  on  a  map  

Page 26: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

Each  “plot”  is  a  post  in  WP  with  a  unique  permalink  

Page 27: Using WordPress as an Application Framework

WORDPRESS IPHONE APP

Brad Williams @williamsba

Apps  for  every  device!    All  100%  GPL  

Page 28: Using WordPress as an Application Framework

WORDPRESS FACEBOOK APPLICATION

Brad Williams @williamsba

Auto  Photobook  Facebook  ApplicaIon  

Page 29: Using WordPress as an Application Framework

WORDPRESS FACEBOOK APPLICATION

Brad Williams @williamsba

Extended  Permissions  allowing  the  applicaIon  to  access  an  Facebook  user  data  

Page 30: Using WordPress as an Application Framework

WORDPRESS FACEBOOK APPLICATION

Brad Williams @williamsba

When  the  app  is  installed  in  Facebook  the  new  user  is  created  in  WordPress  

   

Facebook  data  is  saved  as  WordPress  user  metadata  (birthday,  favorite  movies,  

etc)  

Page 31: Using WordPress as an Application Framework

WORDPRESS FACEBOOK APPLICATION

Brad Williams @williamsba

In  Facebook  the  user  can  create  new  Photobooks  using  their  favorite  Facebook  images  

Page 32: Using WordPress as an Application Framework

WORDPRESS FACEBOOK APPLICATION

Brad Williams @williamsba

The  Facebook  ApplicaIon  is  100%  WordPress.    A  custom  theme  was  built  to  look  just  like  the  Facebook  design.  

Page 33: Using WordPress as an Application Framework

WORDPRESS FACEBOOK APPLICATION

Brad Williams @williamsba

Keith  Milks  created  a  new  Photo  Book  called:  ConstrucIon  Book  

Page 34: Using WordPress as an Application Framework

WORDPRESS FACEBOOK APPLICATION

Brad Williams @williamsba

The  ConstrucIon  Book  (single.php)  shows  all  images  with  links  to  download  and  edit  

Page 35: Using WordPress as an Application Framework

WORDPRESS FACEBOOK APPLICATION

Brad Williams @williamsba

In  WordPress  the  ConstrucIon  Book  is  a  post  with  images  acached  to  the  gallery  

Page 36: Using WordPress as an Application Framework

WORDPRESS FACEBOOK APPLICATION

Brad Williams @williamsba

Crazy  right?!  

Page 37: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

YMCA  Y-­‐MVP  iPad  ApplicaIon  

hcp://www.ymcanyc.org/associaIon/pages/y-­‐mvp  

Page 38: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Visit  the  YMCA  and  scan  your  membership  card  to  log  in  to  the  applicaIon  

Page 39: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

YMCA  members  can  “check-­‐in”  when  they  visit  a  parIcipaIng  branch.  

Page 40: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

When  a  member  “checks-­‐out”  they  can  log  their  Ime  across  any  acIviIes  they  did  at  the  YMCA  

Page 41: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Badges  and  Challenges  are  earned  as  acIviIes  are  completed.    All  stats  are  tracked  by  locaIon.      

Page 42: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Think  it’s  WordPress?  

Page 43: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Of  course  it’s  WordPress!  

Page 44: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Custom  post  types  and  custom  taxonomies  are  registered  for  every  type  of  content  in  the  app.    

Page 45: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Custom  post  type  for  Badges  

Easily  add  required  Steps  (CPT)  to  earn  a  Badge  

Page 46: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

DMA  Friends  iPad  ApplicaIon  

hcp://www.dallasmuseumofart.org/Visit/Friends/index.htm  

Page 47: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Visitors  can  login  with  their  membership  card  or  create  a  new  account  at  the  kiosk  

Page 48: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Users  can  enter  special  exhibit,  event,  or  special  codes  to  check-­‐in  to  specific  

Museum  secIons  

Page 49: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Badges  are  earned  by  compleIng  various  check-­‐in  requirements.  

 Every  badge  earned  gives  the  user  

points.    The  harder  the  badge  the  more  points  the  user  earns.  

Page 50: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

Points  can  be  redeemed  for  Rewards  at  the  Museum  

Page 51: Using WordPress as an Application Framework

WORDPRESS IPAD APP

Brad Williams @williamsba

The  public  absolutely  loves  it!  

Page 52: Using WordPress as an Application Framework

.

Brad Williams @williamsba

Amazing  right?  

AMAZING!  

Page 53: Using WordPress as an Application Framework

Brad Williams @williamsba

Page 54: Using WordPress as an Application Framework

.

Brad Williams @williamsba

What  powers  these  iPad  apps?  

Page 55: Using WordPress as an Application Framework

BADGEOS

Brad Williams @williamsba

hcp://wordpress.org/extend/plugins/badgeos/  

hcp://badgeos.org  

In  Partnership  with  

Page 56: Using WordPress as an Application Framework

BADGEOS

Brad Williams @williamsba

A  free  plugin  to  create  a  powerful  achievement  and  badging  system  on  any  WordPress  website!  

hcp://wordpress.org/extend/plugins/badgeos/  

Page 57: Using WordPress as an Application Framework

BADGEOS

Brad Williams @williamsba

Features  include:    •  Reviewed  submissions  •  Auto-­‐approving  submissions  •  NominaIons  and  review  •  Site  acIvity  (triggers  based  on  

commenIng  and  logging  in  to  your  site)  •  CompleIng  specific  other  achievements  

one  or  a  specific  number  of  Imes  •  CompleIng  one,  select  or  all  

achievements  of  a  specific  type  •  Point  thresholds  •  Admin  Given  Badges  

hcp://wordpress.org/extend/plugins/badgeos/  

Page 58: Using WordPress as an Application Framework

BADGEOS

Brad Williams @williamsba

Website:  hcp://badgeos.org  Plugin:  hcp://wordpress.org/extend/plugins/badgeos/  Github:  hcps://github.com/opencredit/badgeos       In  Partnership  with  

Check  it  out  and  Get  Involved!  

Page 59: Using WordPress as an Application Framework

RESOURCES

Brad Williams @williamsba

•  WordPress  ApplicaIon  Framework  ArIcles  •  hcp://chrislema.com/pitching-­‐wordpress-­‐as-­‐an-­‐applicaIon-­‐framework/  •  hcp://tommcfarlin.com/wordpress-­‐applicaIon-­‐framework/  

•  PresentaIons  •  hcp://hmn.md/blog/2012/08/17/wordpress-­‐is-­‐an-­‐applicaIon-­‐framework/  •  hcp://wordpress.tv/2012/11/09/sam-­‐hotchkiss-­‐wordpress-­‐as-­‐a-­‐web-­‐app-­‐

framework/  

 

Page 60: Using WordPress as an Application Framework

DRADCAST PLUG

Brad Williams @williamsba

Listen  to  the  DradCast  WordPress  Podcast    

                                       LIVE  every  Wednesday  @  8pm  EDT    

DradCast.com  

Page 61: Using WordPress as an Application Framework

CONTACT BRAD

Brad Williams @williamsba

Brad  Williams  [email protected]    Blog:    strangework.com  Twicer:  @williamsba  IRC:  WDS-­‐Brad      Professional  WordPress  Second  EdiIon  is  OUT!  

hcp://bit.ly/prowp2