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 Plugin Repository.

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 my select only those that are most useful.

The Wildfire Project adheres to the Open Web Principles which are as follows:

Origin

This project was inspired by FirePHP and spawned out of work related to integrating FirePHP with Zend Framework.

Implementations

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.

Roadmap

Questions / Comments / Ideas

I fully realize that the information on this page can in no way fully explain what Wildfire is about and may not even convey the basic idea properly. I am still working on ways to clearly explain what is slowly taking shape in my head. To discuss Wildfire please use http://groups.google.com/group/wildfire-project.


Copyright © 2008 Christoph Dorn