I’ve been playing around with OpenX at work recently, trying to get it to jump through some hoops for a project I’m working on. While it’s easily the best, and more and more the only, open-source ad server out there, the customizability leaves a bit to be desired. In the end it was a fairly small hack to get it do what I wanted but getting there took some time. The key to unlocking the whole thing was really understanding the internal structure and how plugins fit together to create the base system, and then finding the right place to insert my hooks.