As John mentioned in his post a couple of weeks ago, one of the major changes in v2.8 is the introduction of a new plugin framework. This framework allows developers to customize many aspects of the ad server functionality.
Wherever possible, we’re trying to build new features as plugins so that you don’t need to upgrade the whole ad server to take advantage of new features like the bundled plugin for OpenX Market, improved GeoIP targeting data from NetAcuity or an upcoming in-stream and overlay video ad plugin we will be including in the next ad server release.
There are currently four main ways that a plugin can interact with the ad server (mapping to the four main areas of the application):
- Web Service API - Plugins are able to define their own method calls to be accessed through the OpenX API
- Maintenance - Plugins can add tasks to the hourly process which summarizes statistics and assigns priorities
- User interface - Plugins can:
- Add pages to the menu system to add new features and functionality
- Define new types of banners
- Generate custom invocation tags
- Provide additional (Excel) reports
- Override the user authentication system
- Delivery Engine: There are a number of hooks in the delivery engine at which plugins can register and execute custom code during the ad selection/rendering/logging process.
- The front-controller allows new delivery scripts to be provided in a plugin
- Sophisticated targeting rules can be evaluated to control banner delivery
- Pre/post processing of a banner HTML
- Events and actions (requests, impressions clicks etc) can trigger plugin events
- Replace the file-based cache store with something else (e.g. memcache)
We’ve put together some tools to help budding plugin developers get started creating their first plugin including a toolbox with a plugin builder component and a demo plugin showing the kinds of things that can be done with the plugin framework.
And of course you can always jump into the #openx chatroom to ask (or offer) help!

Tags: