Triage Requirements in Mass
Casualty Scenarios
A Surgeon's Guide to Plugin
Development
Surgical Aphorisms
❖ KISS - Keep It Simple (Stupid)
❖ The enemy of good is better
❖ Should you really do that?
❖ Learn from others
❖ You are "captain of the ship"
Keep It Simple
The Enemy of Good Is Better
Just Because You CAN Do
Something; Doesn't Mean You
SHOULD You Do Something?
Learn the Good and the Bad
Captain of the Ship
Decisions, not options
Single purpose
Simple, simple, simple
Scratch your own itch
Tools of the Trade
DesktopServer
PHPStorm
GitHub, Bitbucket, GitLab, etc.
Tower - towerapp.com
Google, GitHub, WordPress forums
Scratching Your Own Itch
❖ What problem do I want to solve?
❖ Does a solution already exist?
❖ Do current solutions work for you?
❖ DIY
Plugin Development
❖ Identify scope of project
❖ Start coding, preference to OOP
❖ Ask questions
❖ Constantly lookup and learn
❖ Core is your best reference
Core is your friend
❖ Transients API
❖ Settings API
❖ add_action()/do_action()
❖ add_filter()/apply_filters()
WordPress.org Plugin Repo
❖ The Events Calendar Category Colors
❖ The Events Calendar PRO Alarm
❖ The Events Calendar User CSS
❖ The Events Calendar Outlook Import Fix
❖ Add Custom Header Images
My Goals for GitHub Updater
❖ Simple barrier to entry
❖ Work within core as much possible
❖ Update both plugins and themes
Plugin Requirements for GitHub Updater
/*

Plugin Name: GitHub Updater

Plugin URI: https://github.com/afragen/github-updater

Description: A plugin to automatically update GitHub, Bitbucket or
GitLab hosted plugins and themes. It also allows for remote installation
of plugins or themes into WordPress.
Version: 1.0.0

Author: Andy Fragen

License: GNU General Public License v2

License URI: http://www.gnu.org/licenses/gpl-2.0.html

Domain Path: /languages

Text Domain: github-updater

GitHub Plugin URI: https://github.com/afragen/github-updater

GitHub Branch: master

*/

Current State of GitHub Updater
❖ Seamless updates for plugins and themes
❖ Works in single or multisite
❖ Works with GitHub, Bitbucket, and GitLab
❖ Works with public and private repositories
❖ Changelogs, readme.txt, view details, ratings, etc.
❖ Rollback for themes
❖ Settings page
❖ Allows for remote installation of plugins or themes
❖ Branch switching/re-installation for plugins/themes
❖ Integrates with iThemes Sync and InfiniteWP
https://github.com/afragen/github-updater
There's no such thing as a minor
surgery; only minor surgeons.
http://wclax.reviews/
WhoAmI
❖ http://thefragens.com
❖ @andyfragen - Twitter
❖ https://github.com/afragen
❖ Day job, trauma/acute care surgeon
❖ Chief of Staff, Desert Regional Medical Center, Palm Springs, CA
❖ WordCamp sponsor and now speaker
Bucket List

Surgeons guide plugin development

  • 2.
    Triage Requirements inMass Casualty Scenarios
  • 3.
    A Surgeon's Guideto Plugin Development
  • 5.
    Surgical Aphorisms ❖ KISS- Keep It Simple (Stupid) ❖ The enemy of good is better ❖ Should you really do that? ❖ Learn from others ❖ You are "captain of the ship"
  • 6.
  • 7.
    The Enemy ofGood Is Better
  • 8.
    Just Because YouCAN Do Something; Doesn't Mean You SHOULD You Do Something?
  • 9.
    Learn the Goodand the Bad
  • 10.
    Captain of theShip Decisions, not options Single purpose Simple, simple, simple Scratch your own itch
  • 11.
    Tools of theTrade DesktopServer PHPStorm GitHub, Bitbucket, GitLab, etc. Tower - towerapp.com Google, GitHub, WordPress forums
  • 12.
    Scratching Your OwnItch ❖ What problem do I want to solve? ❖ Does a solution already exist? ❖ Do current solutions work for you? ❖ DIY
  • 13.
    Plugin Development ❖ Identifyscope of project ❖ Start coding, preference to OOP ❖ Ask questions ❖ Constantly lookup and learn ❖ Core is your best reference
  • 14.
    Core is yourfriend ❖ Transients API ❖ Settings API ❖ add_action()/do_action() ❖ add_filter()/apply_filters()
  • 15.
    WordPress.org Plugin Repo ❖The Events Calendar Category Colors ❖ The Events Calendar PRO Alarm ❖ The Events Calendar User CSS ❖ The Events Calendar Outlook Import Fix ❖ Add Custom Header Images
  • 16.
    My Goals forGitHub Updater ❖ Simple barrier to entry ❖ Work within core as much possible ❖ Update both plugins and themes
  • 17.
    Plugin Requirements forGitHub Updater /*
 Plugin Name: GitHub Updater
 Plugin URI: https://github.com/afragen/github-updater
 Description: A plugin to automatically update GitHub, Bitbucket or GitLab hosted plugins and themes. It also allows for remote installation of plugins or themes into WordPress. Version: 1.0.0
 Author: Andy Fragen
 License: GNU General Public License v2
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Domain Path: /languages
 Text Domain: github-updater
 GitHub Plugin URI: https://github.com/afragen/github-updater
 GitHub Branch: master
 */

  • 18.
    Current State ofGitHub Updater ❖ Seamless updates for plugins and themes ❖ Works in single or multisite ❖ Works with GitHub, Bitbucket, and GitLab ❖ Works with public and private repositories ❖ Changelogs, readme.txt, view details, ratings, etc. ❖ Rollback for themes ❖ Settings page ❖ Allows for remote installation of plugins or themes ❖ Branch switching/re-installation for plugins/themes ❖ Integrates with iThemes Sync and InfiniteWP
  • 19.
  • 20.
    There's no suchthing as a minor surgery; only minor surgeons.
  • 21.
  • 22.
    WhoAmI ❖ http://thefragens.com ❖ @andyfragen- Twitter ❖ https://github.com/afragen ❖ Day job, trauma/acute care surgeon ❖ Chief of Staff, Desert Regional Medical Center, Palm Springs, CA ❖ WordCamp sponsor and now speaker
  • 23.