The purpose of the Wildfire Project is to develop standardized communication channels between
a large variety of components and a dynamic and scriptable plugin architecture.
The Wildfire Concepts may be implemented by any application in order to provide a
Wildfire Runtime environment. The Runtime Environment will allow dynamic loading of
Wildfire Plugins which are able to communicate with the application and other Wildfire Runtimes via
standardized Wildfire Channels. A Wildfire Channel is a communication channel that
specifies a communication protocol and data exchange format to be used for a specific purpose.
Wildfire Plugins can be dynamically loaded from the Plugin Repository and run
in a sandbox within the Wildfire Runtime to ensure security. The Wildfire Plugins can communicate
with the host application via Application Plugins which are also installed from the
While Application Plugins are explicitly installed and upgraded by the application user,
Wildfire Plugins can be dynamically loaded and upgraded based on policies set by the user
via the Plugin Manager.
The project follows the Floss
methodology with a focus on learning from each implementation. Each implementation does not need to
cover all established concepts and may select only those that are most useful.
The Wildfire Project adheres to the
Open Web Principles which are as follows:
- Composability The ability to innovate, link, contribute, search, and integrate without red tape, fear of a lawsuit, or having to ask "please?"
- Interoperability The ability for developers to interoperate without having to know of each others existence
- Ubiquity The ubiquity of a set of open technologies and services agreed upon by the widest possible community
- Universal Client Empowering and evolving the browser and web technologies as a universal client
This project was inspired by FirePHP and spawned out of
work related to integrating FirePHP with Zend Framework.
FirePHP - Firebug Extension for AJAX Development
FirePHP enables you to print to your Firebug Console using a simple PHP function call.
For the purpose of logging from the server to Firebug a communication protocol (JsonStream) has been developed that
uses HTTP request and response headers to send data between the server and client components.
It is great for logging intelligence data generated during script execution to the client browser
without interfering with the page content. Debugging AJAX requests that require clean JSON and XML
responses is possible with this approach.
Zend_Wildfire - A Zend Framework Component (as of ZF 1.6)
It implements a HttpHeaders Channel for sending messages in the JsonStream Protocol and provides the underlying communication with FirePHP for the Zend_Log_Writer_Firebug and Zend_Db_Profiler_Firebug components.
See here for a tutorial on how to use these components.
- Migrate all FirePHP communication to Wildfire
- Expand use of Wildfire in FirePHP & Zend Framework component
- Implement Wildfire Firefox Extension
- Implement Wildfire Plugin Repository & Specification/Documentation Site
- Implement sample Firefox and Wildfire plugins
Questions / Comments / Ideas