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