OIOpub Blog
I’m pleased to announce that the first phase of the user collaboration site (initially mentioned here) is now ready for action. The purpose of this site will be to gather ideas and feedback in order to create a brand new version of the OIOpublisher ad manager; packed with more features, more customisation options and even easier to use!
>> http://v3.oiopublisher.com
As of today, you can submit your ideas for v3, based off your current experience of OIO. Just as importantly, you can rate and comment on the ideas of others. This will enable us to have an ongoing conversation about the features that are most important to the community, as well as how best to implement them. I’ve also added some suggestions I’ve received previously, to start us off.
Once that’s in full swing, the second phase will be launched, where you’ll be able to offer feedback on the first ever mock-up of OIO v3 (based on your ideas), so that we can begin to refine it. The mock-up will centre around the admin area, giving you a chance to test usability, see what features are available and how they interact with each other.
Finally, there’s the coding stage. That’s really down to me though.
Even if you haven’t purchased OIO yourself, your ideas are more than welcome, so please get involved!
Please note that any spam or non-constructive contributions will be removed without warning.
In developing OIO, I have stayed away from any php5 specific features, to make sure the script remained compatible with as many servers as possible. However, with an overhaul on the horizon, it seems like a good time to re-think that stance.
The main argument for maintaining php4 compatibility (as Wordpress does) is that is keeps things open for more users, but as web hosts start to switch users over to php5 in increasing numbers, the benefits of switching development over to php5 start to out-weigh the issue of compatibility.
Which version of php does your site use?
The big question is, how many OIO users have installed the script on a site that still uses php4? I’d appreciate it if you could take a moment to help find the answer by completing the poll below.

Loading ...
How do I know if my site uses php4 or php5?
If you unzip and upload this file to your site (via FTP) and then go to the url in your browser (for example yoursite.com/phpcheck.php), it will tell you which version you are using. Alternatively, your web host should be able to tell you the version.
If you are using php4, you can also ask your web host whether it’s possible for them to switch your account over to php5.
What’s so good about php5 anyway?
There are a few good reasons for looking at developing for php5 only. It’s now the case (and has been so for a while) that php4 is no longer under active development, and has been dis-continued. There are also a few nice extra features in php5 that will make development quicker and easier.
The latest version of OIO is now available for download. It is also the last planned release before the user orientated re-development program begins, and as such does not contain a lot of new features.
>> If upgrading the script manually, click here to see the upgrade tutorial.
Offline payment module
After requests from a number of people, you can now let advertisers pay “offline”. If selected, the advertiser will be taken to a page containing instructions that you define in the admin area.
Filtering Zones by Wordpress Category
Again, this was a feature requested by quite a few people. Each text / banner ad zone contains a new option that lets you associate a Wordpress category with each ad. When displaying an ad zone on a category or post page, only ads within those category(s) will be shown. This allows you to use a single ad zone to filter ads via category.
Tracker Module Update
Previously, tracking impressions meant loading a new image file on every page request, which increased load on the server. This extra image file has now been removed to help reduce load. Some backend code was also added to stop individual ads from using the tracker if needed (on request, requires editing the database).
Less Admin Clutter
Previously, every ad zone created was shown at the top of the settings page (e.g Zone 1, Zone 2). This took up a lot of space and made it difficult to tell at a glance which ad zone was which. A dropdown menu is now used instead, with “Zone 1″ being replaced by the name you give each zone. The admin editor has also been tweaked for easier use, via feedback on the forum.
Better compatibility with Wordpress config file
This issue was highlighted recently in the forum. If you use Wordpress 2.6+ and have moved your wp-config.php file for better security, OIO will use wp-load.php instead. This should prevent anyone else from having to hack OIO to get it to work with their config file.
Other Tweaks
The “availability” column on the purchase page now shows the number of free ad slots available (rather than the total number). The “price” dropdown menu is also pre-selected if there is only one price available, to improve continuity.
New Release Policy
The automatic upgrader will not notify users of a new “zero” version (ie. 2.20) until it has been sent out to members of the focus group. This will help ensure that any problems that are present will be quickly diagnosed before the majority of people upgrade.
This is the first post in a series that looks at potential problems that OIO can have with other well-known Wordpress plugins. You can see the entire series here.
Bad Behaviour is a plugin used by many security-conscious Wordpress blog owners to restrict access to the blog. One of the ways it does that is to restrict calls from other websites, unless their IP address is whitelisted (ie. Bad Behaviour is told to let through traffic for that IP address).
By default, Bad Behaviour blocks calls from payment services like PayPal’s IPN, meaning OIO won’t get told when a valid payment has been made. This blocking applies to any automated payment notification, as well as calls by OIO itself (via the marketplace API key).
Luckily, Bad Behaviour comes with a whitelist file that we can use to add IP addresses, to prevent this blocking. I’ll use paypal in the example below, as it is the most common cause of complaint.
PayPal IPN Example
1.) Firstly, we need to find the IP addresses to add to our whitelist. PayPal provides a list of these here (other payment services will probably provide something similar). The IPN is governed by the IP addresses at notify.paypal.com, which at the time of writing are:
216.113.188.202
216.113.188.203
216.113.188.204
66.211.170.66
2.) Now we’ve got our list of IP addresses, it’s time to find the Bad Behaviour whitelist. There is a file within the plugin’s “bad-behaviour” directory called whitelist.inc.php. Open this file and you should see the following php code near the top:
$bb2_whitelist_ip_ranges = array(
“64.191.203.34″, // Digg whitelisted as of 2.0.12
“208.67.217.130″, // Digg whitelisted as of 2.0.12
“10.0.0.0/8″,
“172.16.0.0/12″,
“192.168.0.0/16″,
//”127.0.0.1″,
);
3.) Now let’s add the PayPal IPN addresses to that section of code, save the file, and we’re done:
$bb2_whitelist_ip_ranges = array(
“64.191.203.34″, // Digg whitelisted as of 2.0.12
“208.67.217.130″, // Digg whitelisted as of 2.0.12
“10.0.0.0/8″,
“172.16.0.0/12″,
“192.168.0.0/16″,
//”127.0.0.1″,
“216.113.188.202″,
“216.113.188.203″,
“216.113.188.204″,
“66.211.170.66″,
);
If you’re having problems with any other automated notification systems while using Bad Behaviour, simply repeat the process above using the IP addresses of that provider.
OIOpublisher IP Address
In case you’re also having problems authenticating your API key, you might want to add the IP address of OIOpublisher.com to the whitelist. At the time of writing, this is: 91.198.165.34
Don’t get me wrong, I like OIO…
But I want to make it better. To do that, I’m going to need your help.

After releasing one more version in the current series (now released as v2.2), I’m going to be rolling out what I can only describe as a “blog wiki” style section of the site. It will categorise every different aspect of OIO (from the creation of ad zones to the inbuilt affiliate program), showcase the new admin interface, and include a few of my own ideas for the next major version.
But, this isn’t a documentation exercise…
I’m going to hand things over to the users and ask you to help re-design OIO from the ground up. Don’t worry, it won’t involve any web development on your part, only your imagination. You’ll be able to browse OIO by feature, leave your feedback and comment / rate other people’s ideas. As the feedback comes in, the interface will be updated to reflect your ideas, until a group consensus is reached.
And the result with be…
By focusing just on the end product (what you see, as the end user), and not the development obstacles that can sometimes stifle a web project, we can come up with a great product that fulfills your needs. It will then be my job to develop the backend code to match the feature set and interface created by your ideas.
It’s a potentially ambitious project, and won’t happen overnight (I work full time too, so there’s no ETA yet), but I am confident that this will help take OIO to the next level, producing something that everyone can have a say in.
Even if you haven’t purchased OIO, you’ll still be able to contribute to the next version by registering (its free). You’ll then be included in any email announcements.