History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: OXPL-557
Type: Bug Bug
Status: Resolved Resolved
Resolution: Duplicate
Priority: Major Major
Assignee: Chris Nutting
Reporter: John
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
OpenX Ad Server Plugins

Logging of Requests using Single Page Call is logging multiple times the first adId/zoneId only.

Created: 27/Nov/09 04:02 PM   Updated: 15/Dec/09 09:18 PM
Component/s: OpenX Delivery Log Plugin
Affects Version/s: OpenX Delivery Log Plugin v1.0.8
Fix Version/s: None
Security Level: Public (All users can see these issues)

Time Tracking:
Not Specified

Environment:
Fedora Core 10 64bit
Apache 2.2.11
PHP 5.2.9
Issue Links:
Duplicate
 

Source: Community


 Description  « Hide
When using the Single Page Call by xmlrpc and requesting multiple zones, the individual requests are not logged correctly to the bucket table, leading to problematic request statistics.

After debugging, I have found the exact problem and I provide you with a solution.

Problem:
File: dataCommon.delivery.php
Function: Plugin_deliveryDataPrepare_oxDeliveryDataPrepare_dataCommon

The code:
// Prevent the function from running twice
if (!empty($GLOBALS['_MAX']['deliveryData']['Plugin_deliveryDataPrepare_oxDeliveryDataPrepare_dataCommon'])) { return; }

after the first time that has been run, is preventing the right preparation of the deliveryData array for the subsequent logging of the remaining ad requests. And instead it makes the logging log the first ad request over and over again.

The solution is to comment out this piece of code, but I am not sure what the consequences for that will be.



 All   Comments   Work Log   Change History   FishEye   Crucible   Builds      Sort Order: Ascending order - Click to sort in descending order
Chris Nutting - 27/Nov/09 04:26 PM
Good catch!

It's probably better to do:

unset($GLOBALS['_MAX']['deliveryData']);
in here: https://developer.openx.org/fisheye/browse/openx/trunk/www/delivery_dev/spc.php?r=root:#l60

Which would have the same effect.


John - 27/Nov/09 05:16 PM
Nice.

But the file you pointed at is for the Javascript SPC and not for the XMLRPC SPC.

From what I gather is that I should add the unset at function OA_Delivery_XmlRpc_SPC($params), but I cannot find it in the SVN, I got confused with the Ant way for the code generation and cannot locate the exact files.

Can you help me out here?


Chris Nutting - 15/Dec/09 09:08 PM
Sorry, I wasn't notified of your comment, I usually point people at this forum post to explain the function and locations of the uncompiled delivery engine

Chris Nutting - 15/Dec/09 09:16 PM
You're right, I should do the same for the XML-RPC SPC code, but it belongs in the specific delivery scripts since these are doing custom work (iterating over a selection of zoneids) which is not applicable to other delivery scripts

I'm marking this as a duplicate of OX-5668 since the change is in core not the plugin


Chris Nutting - 15/Dec/09 09:18 PM
Going to fix this in core (not the plugin) so closing this one as a duplicate