SlideShare a Scribd company logo
Web Apps for
 the Masses
 @davidscotttufts
davidscotttufts.com
               Photo by razorray15
We are the 16.7%




           Photo by Tim Wilson
WordPress Evolution
         1.   Blog
         2.   Multi-User
         3.   Custom Post Types
         4.   CMS
         5.   What’s next?



                 Illustration by Rob Green
State of the Word 2012




Slide from Matt Mullenweg’s presentation
Popular Web Apps
Features of Web Apps
        Offer a service
        Safe-keeping of your
         personal data
        Access to your personal
         data through an API
        Roles and permissions
         for controlled and/or
         restricted access
WordPress Web Apps
Building a WordPress
  Web Application
     Framework
   • Use the existing plugin framework
   • Build the plugin to be extendable
   • Build in a robust public facing API


                            Photo by Pietro Zuco
WordPress App Stack
1.   WordPress Core
2.   Plugins, Themes, Actions, Filters & APIs.
3.   Custom: Post Types, Fields & Taxonomies
4.   Build a Web Application Framework Plugin
5.   Make Products—Bundled plugins and themes
6.   Build Web Apps—Registration, profiles,
     friending, subscriptions, public facing API,
     in-app social features, sharing, etc.

                                    Photo by Pietro Zuco
#1 Rule:
No WordPress
core files or
database tables
should be harmed
in the production
of a plugin
     Photo by Sarah Fleming
• Module based App Engine
• Public facing API
• Custom post type & taxonomy
  manager
• Custom roles & capabilities
• Custom “related posts”
• Custom workflows
• Front end editing

KickPress Features              Photo by Brad Coy
Why APIs matter
 when building
   web apps,
 and why you
  should care.
With no API, users are limited in
 how the can access their data
                       Illustration by Eric Tufts
Separating content
from presentation
             Illustration by Eric Tufts
Illustration by Eric Tufts
Sample User Interfaces
Advanced custom post type
      management
Advanced roles and capabilities for
   managing user permissions
API Requests
3 kinds of requests to the server
1. // Request for a full page from the theme
     kickpress_is_fullpage();

2. // Request for a page fragment via Ajax
     kickpress_is_ajax();

3. // Remote app request or action
     kickpress_is_remote_app();
1. Full Page Requests
Triggering the KickPress API
API Parameters are appended to the end
of the standard WordPress permalinks:
{site}.com/how-to/ {Archive page for custom post type called “How To”}
{site}.com/how-to/api/add/
{site}.com/how-to/api/save/
{site}.com/how-to/using-powerpoint/api/edit/
More Examples:
{site}.com/2012/08/18/wordcamp/api/edit/
{site}.com/2012/08/18/wordcamp/api/save/
{site}.com/2012/08/18/wordcamp/api/delete/
{site}.com/2012/08/18/wordcamp/api/bookmark/
{site}.com/2012/08/18/wordcamp/api/add_term[category]/featured/
2. Ajax Requests
Theme Modifications
Add an extra conditional comment
to the top of these theme files:
   header.php
   footer.php
   sidebar.php

<?php
    if ( kickpress_is_ajax() ) { return; }
?>
Theme Modifications
Add a conditional blocks for any code that
should be ignored on AJAX requests:
<?php get_header(); ?>
<?php if ( kickpress_is_fullpage() ) : ?>
       <div id="content-wrapper">
<?php endif; ?>

<?php $post_type = get_post_type(); ?>
<?php get_template_part( 'loop', $post_type ); ?>

<?php   $args = array( 'post_type', $post_type );
<?php   kickpress_ajax_reload( $args, 'content-wrapper‘ ); ?>
<?php   kickpress_is_fullpage( '</div>‘ ); ?>
<?php   get_sidebar(); ?>
<?php   get_footer(); ?>
3. Remote API Requests
Authentication
     Two levels of remote
     authentication.
     •   Remote apps
     •   Registered users
         interacting with your
         site’s content remotely
         through authenticated
         web or mobile apps.

                    Photo by Jon Worth
Remote Application Authentication
API Serialized Response
{
    "status":"success",
    "messages":{
             "note":"Term Added"
    },
    "data":{
             "terms":[{
                     "term_id":"7",
                     "name":"Featured",
                     "slug":"featured",
                     "taxonomy":"category",
                     "count":"26"
             }]
    }
}
Use KickPress to Build your next
    Web App in WordPress




    http://kickpress.org/getting-started/

More Related Content

What's hot

Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
Alexandre Marreiros
 
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
Eric Shupps
 
Joomla Features
Joomla FeaturesJoomla Features
Joomla Features
US Joomla Force
 
Beyond the Theme - Using WordPress as an API
Beyond the Theme - Using WordPress as an APIBeyond the Theme - Using WordPress as an API
Beyond the Theme - Using WordPress as an API
David Tufts
 
Wordpress presentation
Wordpress presentationWordpress presentation
Wordpress presentation
Leeanne Rambin
 
Summit Preso Final
Summit Preso FinalSummit Preso Final
Summit Preso Final
psivadasan
 
There's a Plugin for That
There's a Plugin for ThatThere's a Plugin for That
There's a Plugin for That
Stephanie Leary
 
Progressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting StartedProgressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting Started
Gaurav Behere
 
Building an interactive timeline from facebook photos
Building an interactive timeline from facebook photosBuilding an interactive timeline from facebook photos
Building an interactive timeline from facebook photos
Rakesh Rajan
 
End to End Security with MVC and Web API
End to End Security with MVC and Web APIEnd to End Security with MVC and Web API
End to End Security with MVC and Web API
Michele Leroux Bustamante
 
Final Presentation My Idea
Final Presentation My IdeaFinal Presentation My Idea
Final Presentation My Idea
buschko
 
WordCamp Wilmington 2017 WP-API Why?
WordCamp Wilmington 2017   WP-API Why?WordCamp Wilmington 2017   WP-API Why?
WordCamp Wilmington 2017 WP-API Why?
Evan Mullins
 
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativasDotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
Plain Concepts
 
Создание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружениеСоздание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружение
SQALab
 
Facebook EdgeRank | The Mehodology | Its Relevance to Brands
Facebook EdgeRank | The Mehodology | Its Relevance to BrandsFacebook EdgeRank | The Mehodology | Its Relevance to Brands
Facebook EdgeRank | The Mehodology | Its Relevance to Brands
Bajaj Finserv
 
What is wordpress
What is wordpressWhat is wordpress
What is wordpress
Umar Zai
 
Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Build your own yammer app @ Collab365
Build your own yammer app @ Collab365
Alexander Meijers
 
Advanced Drupal SEO - Beginner to Expert in 60 Minutes
Advanced Drupal SEO - Beginner to Expert in 60 MinutesAdvanced Drupal SEO - Beginner to Expert in 60 Minutes
Advanced Drupal SEO - Beginner to Expert in 60 Minutes
Tom McCracken
 
Progressive Web Apps - Up & Running
Progressive Web Apps - Up & RunningProgressive Web Apps - Up & Running
Progressive Web Apps - Up & Running
Suraj Kumar
 

What's hot (20)

Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
 
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
 
Joomla Features
Joomla FeaturesJoomla Features
Joomla Features
 
Beyond the Theme - Using WordPress as an API
Beyond the Theme - Using WordPress as an APIBeyond the Theme - Using WordPress as an API
Beyond the Theme - Using WordPress as an API
 
Wordpress presentation
Wordpress presentationWordpress presentation
Wordpress presentation
 
Summit Preso Final
Summit Preso FinalSummit Preso Final
Summit Preso Final
 
There's a Plugin for That
There's a Plugin for ThatThere's a Plugin for That
There's a Plugin for That
 
Progressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting StartedProgressive Web Apps - Overview & Getting Started
Progressive Web Apps - Overview & Getting Started
 
Building an interactive timeline from facebook photos
Building an interactive timeline from facebook photosBuilding an interactive timeline from facebook photos
Building an interactive timeline from facebook photos
 
End to End Security with MVC and Web API
End to End Security with MVC and Web APIEnd to End Security with MVC and Web API
End to End Security with MVC and Web API
 
Final Presentation My Idea
Final Presentation My IdeaFinal Presentation My Idea
Final Presentation My Idea
 
WordCamp Wilmington 2017 WP-API Why?
WordCamp Wilmington 2017   WP-API Why?WordCamp Wilmington 2017   WP-API Why?
WordCamp Wilmington 2017 WP-API Why?
 
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativasDotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
 
Создание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружениеСоздание API, которое полюбят разработчики. Глубокое погружение
Создание API, которое полюбят разработчики. Глубокое погружение
 
Facebook EdgeRank | The Mehodology | Its Relevance to Brands
Facebook EdgeRank | The Mehodology | Its Relevance to BrandsFacebook EdgeRank | The Mehodology | Its Relevance to Brands
Facebook EdgeRank | The Mehodology | Its Relevance to Brands
 
What is wordpress
What is wordpressWhat is wordpress
What is wordpress
 
Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Build your own yammer app @ Collab365
Build your own yammer app @ Collab365
 
Advanced Drupal SEO - Beginner to Expert in 60 Minutes
Advanced Drupal SEO - Beginner to Expert in 60 MinutesAdvanced Drupal SEO - Beginner to Expert in 60 Minutes
Advanced Drupal SEO - Beginner to Expert in 60 Minutes
 
Design Web Api
Design Web ApiDesign Web Api
Design Web Api
 
Progressive Web Apps - Up & Running
Progressive Web Apps - Up & RunningProgressive Web Apps - Up & Running
Progressive Web Apps - Up & Running
 

Viewers also liked

Celebracion especial dd.hh y la paz.
Celebracion especial dd.hh y la paz.Celebracion especial dd.hh y la paz.
Celebracion especial dd.hh y la paz.zitamaria
 
Recommendatory report based on a study on emerging trends of csr in india
Recommendatory report based on a study on emerging trends of csr in indiaRecommendatory report based on a study on emerging trends of csr in india
Recommendatory report based on a study on emerging trends of csr in india
varunkmr26
 
สตอก
สตอกสตอก
Ahlan Ramadan presentation
Ahlan Ramadan presentationAhlan Ramadan presentation
Ahlan Ramadan presentationbintMahmood
 
Esalter web-latinica
Esalter web-latinicaEsalter web-latinica
Esalter web-latinica
nemanjakovacevic
 
สายตาสั้น
สายตาสั้นสายตาสั้น
สายตาสั้น
Methawee Srirattanasopon
 
Esalter latinica
Esalter latinicaEsalter latinica
Esalter latinica
nemanjakovacevic
 
Sms obaveštenja - prezentacija
Sms obaveštenja  - prezentacijaSms obaveštenja  - prezentacija
Sms obaveštenja - prezentacija
nemanjakovacevic
 
Esalter web-cirilica
Esalter web-cirilicaEsalter web-cirilica
Esalter web-cirilica
nemanjakovacevic
 
Esalter cirilica
Esalter cirilicaEsalter cirilica
Esalter cirilica
nemanjakovacevic
 
COMPORTAMENTO DE ESTRUTURAS DE CLT (Cross Laminated Timber) EM SITUAÇÃO DE IN...
COMPORTAMENTO DE ESTRUTURAS DE CLT (Cross Laminated Timber) EM SITUAÇÃO DE IN...COMPORTAMENTO DE ESTRUTURAS DE CLT (Cross Laminated Timber) EM SITUAÇÃO DE IN...
COMPORTAMENTO DE ESTRUTURAS DE CLT (Cross Laminated Timber) EM SITUAÇÃO DE IN...
Lélio Caiado Abreu França
 
The 3Cs of WordPress
The 3Cs of WordPressThe 3Cs of WordPress
The 3Cs of WordPress
David Tufts
 
MOD server & FreeBSD (FreeBSD Day Taiwan)
MOD server & FreeBSD (FreeBSD Day Taiwan)MOD server & FreeBSD (FreeBSD Day Taiwan)
MOD server & FreeBSD (FreeBSD Day Taiwan)
Kevin Lo
 
J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014
Nguyen Tung
 

Viewers also liked (20)

EvalInvStrats_web
EvalInvStrats_webEvalInvStrats_web
EvalInvStrats_web
 
Celebracion especial dd.hh y la paz.
Celebracion especial dd.hh y la paz.Celebracion especial dd.hh y la paz.
Celebracion especial dd.hh y la paz.
 
Recommendatory report based on a study on emerging trends of csr in india
Recommendatory report based on a study on emerging trends of csr in indiaRecommendatory report based on a study on emerging trends of csr in india
Recommendatory report based on a study on emerging trends of csr in india
 
สตอก
สตอกสตอก
สตอก
 
Ahlan Ramadan presentation
Ahlan Ramadan presentationAhlan Ramadan presentation
Ahlan Ramadan presentation
 
Esalter web-latinica
Esalter web-latinicaEsalter web-latinica
Esalter web-latinica
 
สตอก
สตอกสตอก
สตอก
 
Tec1
Tec1Tec1
Tec1
 
Esalter web-madjarski
Esalter web-madjarskiEsalter web-madjarski
Esalter web-madjarski
 
สายตาสั้น
สายตาสั้นสายตาสั้น
สายตาสั้น
 
Esalter latinica
Esalter latinicaEsalter latinica
Esalter latinica
 
Sms obaveštenja - prezentacija
Sms obaveštenja  - prezentacijaSms obaveštenja  - prezentacija
Sms obaveštenja - prezentacija
 
My presentation
My presentationMy presentation
My presentation
 
Esalter web-cirilica
Esalter web-cirilicaEsalter web-cirilica
Esalter web-cirilica
 
Esalter cirilica
Esalter cirilicaEsalter cirilica
Esalter cirilica
 
Esalter madjarski
Esalter madjarskiEsalter madjarski
Esalter madjarski
 
COMPORTAMENTO DE ESTRUTURAS DE CLT (Cross Laminated Timber) EM SITUAÇÃO DE IN...
COMPORTAMENTO DE ESTRUTURAS DE CLT (Cross Laminated Timber) EM SITUAÇÃO DE IN...COMPORTAMENTO DE ESTRUTURAS DE CLT (Cross Laminated Timber) EM SITUAÇÃO DE IN...
COMPORTAMENTO DE ESTRUTURAS DE CLT (Cross Laminated Timber) EM SITUAÇÃO DE IN...
 
The 3Cs of WordPress
The 3Cs of WordPressThe 3Cs of WordPress
The 3Cs of WordPress
 
MOD server & FreeBSD (FreeBSD Day Taiwan)
MOD server & FreeBSD (FreeBSD Day Taiwan)MOD server & FreeBSD (FreeBSD Day Taiwan)
MOD server & FreeBSD (FreeBSD Day Taiwan)
 
J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014
 

Similar to WordCamp GR 2012 Web Apps for the Masses

Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talkpooyad
 
4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt
Matthew Perrins
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Microsoft 365 Developer
 
Dev Dives: Master advanced authentication and performance in Productivity Act...
Dev Dives: Master advanced authentication and performance in Productivity Act...Dev Dives: Master advanced authentication and performance in Productivity Act...
Dev Dives: Master advanced authentication and performance in Productivity Act...
UiPathCommunity
 
Managing enterprise applications, permissions, and consent in Azure Active Di...
Managing enterprise applications, permissions, and consent in Azure Active Di...Managing enterprise applications, permissions, and consent in Azure Active Di...
Managing enterprise applications, permissions, and consent in Azure Active Di...
CoLaboraDK
 
Managing enterprise applications, permissions, and consent in Azure Active Di...
Managing enterprise applications, permissions, and consent in Azure Active Di...Managing enterprise applications, permissions, and consent in Azure Active Di...
Managing enterprise applications, permissions, and consent in Azure Active Di...
Peter Selch Dahl
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
Kumton Suttiraksiri
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongingsMike Taylor
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongingsMike Taylor
 
SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App Model
James Tramel
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
An introduction to microsoft power apps
An introduction to microsoft power appsAn introduction to microsoft power apps
An introduction to microsoft power apps
Mitul Rana
 
Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...
Amazon Web Services
 
Progetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWSProgetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWS
Amazon Web Services
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
Van Staub, MBA
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
bgerman
 
CoLabora March 2022 - Improve security posture by implementing new Azure AD ...
CoLabora March 2022 -  Improve security posture by implementing new Azure AD ...CoLabora March 2022 -  Improve security posture by implementing new Azure AD ...
CoLabora March 2022 - Improve security posture by implementing new Azure AD ...
Peter Selch Dahl
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
European Collaboration Summit
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
Lorenzo Barbieri
 

Similar to WordCamp GR 2012 Web Apps for the Masses (20)

Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
 
4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020
 
Dev Dives: Master advanced authentication and performance in Productivity Act...
Dev Dives: Master advanced authentication and performance in Productivity Act...Dev Dives: Master advanced authentication and performance in Productivity Act...
Dev Dives: Master advanced authentication and performance in Productivity Act...
 
Managing enterprise applications, permissions, and consent in Azure Active Di...
Managing enterprise applications, permissions, and consent in Azure Active Di...Managing enterprise applications, permissions, and consent in Azure Active Di...
Managing enterprise applications, permissions, and consent in Azure Active Di...
 
Managing enterprise applications, permissions, and consent in Azure Active Di...
Managing enterprise applications, permissions, and consent in Azure Active Di...Managing enterprise applications, permissions, and consent in Azure Active Di...
Managing enterprise applications, permissions, and consent in Azure Active Di...
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongings
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongings
 
SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App Model
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
An introduction to microsoft power apps
An introduction to microsoft power appsAn introduction to microsoft power apps
An introduction to microsoft power apps
 
Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...
 
Progetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWSProgetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWS
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
CoLabora March 2022 - Improve security posture by implementing new Azure AD ...
CoLabora March 2022 -  Improve security posture by implementing new Azure AD ...CoLabora March 2022 -  Improve security posture by implementing new Azure AD ...
CoLabora March 2022 - Improve security posture by implementing new Azure AD ...
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
 

Recently uploaded

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 

WordCamp GR 2012 Web Apps for the Masses

  • 1. Web Apps for the Masses @davidscotttufts davidscotttufts.com Photo by razorray15
  • 2. We are the 16.7% Photo by Tim Wilson
  • 3. WordPress Evolution 1. Blog 2. Multi-User 3. Custom Post Types 4. CMS 5. What’s next? Illustration by Rob Green
  • 4. State of the Word 2012 Slide from Matt Mullenweg’s presentation
  • 6. Features of Web Apps  Offer a service  Safe-keeping of your personal data  Access to your personal data through an API  Roles and permissions for controlled and/or restricted access
  • 8. Building a WordPress Web Application Framework • Use the existing plugin framework • Build the plugin to be extendable • Build in a robust public facing API Photo by Pietro Zuco
  • 9. WordPress App Stack 1. WordPress Core 2. Plugins, Themes, Actions, Filters & APIs. 3. Custom: Post Types, Fields & Taxonomies 4. Build a Web Application Framework Plugin 5. Make Products—Bundled plugins and themes 6. Build Web Apps—Registration, profiles, friending, subscriptions, public facing API, in-app social features, sharing, etc. Photo by Pietro Zuco
  • 10. #1 Rule: No WordPress core files or database tables should be harmed in the production of a plugin Photo by Sarah Fleming
  • 11.
  • 12. • Module based App Engine • Public facing API • Custom post type & taxonomy manager • Custom roles & capabilities • Custom “related posts” • Custom workflows • Front end editing KickPress Features Photo by Brad Coy
  • 13. Why APIs matter when building web apps, and why you should care.
  • 14. With no API, users are limited in how the can access their data Illustration by Eric Tufts
  • 15. Separating content from presentation Illustration by Eric Tufts
  • 18. Advanced custom post type management
  • 19. Advanced roles and capabilities for managing user permissions
  • 20. API Requests 3 kinds of requests to the server 1. // Request for a full page from the theme kickpress_is_fullpage(); 2. // Request for a page fragment via Ajax kickpress_is_ajax(); 3. // Remote app request or action kickpress_is_remote_app();
  • 21. 1. Full Page Requests
  • 22. Triggering the KickPress API API Parameters are appended to the end of the standard WordPress permalinks: {site}.com/how-to/ {Archive page for custom post type called “How To”} {site}.com/how-to/api/add/ {site}.com/how-to/api/save/ {site}.com/how-to/using-powerpoint/api/edit/ More Examples: {site}.com/2012/08/18/wordcamp/api/edit/ {site}.com/2012/08/18/wordcamp/api/save/ {site}.com/2012/08/18/wordcamp/api/delete/ {site}.com/2012/08/18/wordcamp/api/bookmark/ {site}.com/2012/08/18/wordcamp/api/add_term[category]/featured/
  • 24. Theme Modifications Add an extra conditional comment to the top of these theme files: header.php footer.php sidebar.php <?php if ( kickpress_is_ajax() ) { return; } ?>
  • 25. Theme Modifications Add a conditional blocks for any code that should be ignored on AJAX requests: <?php get_header(); ?> <?php if ( kickpress_is_fullpage() ) : ?> <div id="content-wrapper"> <?php endif; ?> <?php $post_type = get_post_type(); ?> <?php get_template_part( 'loop', $post_type ); ?> <?php $args = array( 'post_type', $post_type ); <?php kickpress_ajax_reload( $args, 'content-wrapper‘ ); ?> <?php kickpress_is_fullpage( '</div>‘ ); ?> <?php get_sidebar(); ?> <?php get_footer(); ?>
  • 26. 3. Remote API Requests
  • 27. Authentication Two levels of remote authentication. • Remote apps • Registered users interacting with your site’s content remotely through authenticated web or mobile apps. Photo by Jon Worth
  • 29. API Serialized Response { "status":"success", "messages":{ "note":"Term Added" }, "data":{ "terms":[{ "term_id":"7", "name":"Featured", "slug":"featured", "taxonomy":"category", "count":"26" }] } }
  • 30. Use KickPress to Build your next Web App in WordPress http://kickpress.org/getting-started/