Principles

The goal of developing WP Awesome, is to add high impact functionality to WordPress – while keeping the footprint of the plugin as small as possible.

Design Principles

  • The plugin should not modify how users experience WordPress. It should not change how WordPress works. It should extend WordPress – while still focusing on letting WordPress be WordPress.
  • The plugin has an add-in architecture. Add-ins are called Features. Each Feature is completely self contained and does not impact performance of the system, whenever they are disabled.
  • The plugin recognize that websites may have an administrator user (usually the customer), but also the super hero developer (usually the consultant).
  • The super hero developer may be given super powers in the system, that the administrators are denied.

Feature Principles

  • There are plugins for almost everything in WordPress. This plugin should not try to replace other great plugins, and it should not interfere with their functionality.
  • Features should have a real impact for the developer of the website, and not simply alter existing functionality for end users.
  • Features should help customers do more without assistance – which ultimately helps the developer of the website.
  • Features should make the WordPress developer be better, in the eyes of the customer.

Practical Configuration

  • Configuration should take into account practical issues that website developers may have in dev-ops:
    • Configuration defaults should be configurable via wp-config.php,
    • configuration options should be filterable with add_filter(),
    • and it should be possible to override the defaults in the user interface.
  • The default configuration should be good for most users.
  • Themes should have a practical way to use WP Awesome