- The document discusses how WordPress can be used as an application platform by thinking differently about its features and capabilities.
- It provides examples of applications that have been built on WordPress, including Musi(q), a music database application.
- Key features that make WordPress suitable for building applications include custom post types, taxonomies, user roles and permissions, templating system, and ability to create APIs. However, WordPress may not be suitable for applications requiring complex permissions or large amounts of data.
5. 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
10. 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
13. I don’t have to worry about creating data!?
THIS IS GOING TO BE EASY!
14. 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
16. -State of the Word explained that WP can be used to build apps.
17. 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.
18. 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
21. 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.
23. Complex permissions
- You can extend and create roles and permissions within WP, but complex scenarios and groups become a
burden.
24. 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.
26. MULTISITE
-Manage API, Marketing Site, App all in one place
-Plugins make it modular. You can separate functionality across sites.
27. 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.
28. 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
29. 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
30. 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
31. 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.