VantageAnalytics_Analytics - Version 1.2.5

Version Notes

1.2.4
------
- Identify Magento installations with a unique site id. This allows multiple Magento installations per user account in vantage.

1.2.3
------
- unreleased internal version

1.2.2
-------
- Minor fix to report correct installed version

1.2.0
-------
- New API

1.1.5
-------
- Minor phpcs code style rule fixes
- Remove embedded sign-up form, registration now begins at app.vantageanalytics.com

1.1.4
------
- Bug fix for webhook URL that could be wrong in some circumstances.

1.1.3
------
- Lower batch size for queue processing to shorten time transaction is kept open

1.1.2
------
- Fix notice error about method overridden from base class with missing default argument

1.1.1
------
- Update debug information

1.1.0
------
- Track checkouts from front-end

1.0.12
-------
- Bug fix: set store domain in product URL and images

1.0.11
-------
- Send Dynamic Product Ad events

1.0.10
--------
- Minor bug fix in export, look for PHP_BINARY correctly

1.0.9
-------
- Try to use PHP_BINARY to find the PHP binary

1.0.8
-------
- Look for PHP binaries in more places

1.0.7
-------

- Fork exec export into 2 children processes to avoid long running process with unbounded memory consumption

1.0.6
-------

Set page size on product collection.

Prefetch some related attributes during product and sales order exports.

Send data to vantage during the data gathering phase of the export process instead of after the data gathering phase is done.

1.0.5
-------

Fixed memory leak in export script which could impact large data exports.

1.0.4
-------
New feature: facebook pixel based visitor and conversion tracking.

1.0.3
-------

Minor bug fix, do not send empty array() objects to Vantage Analytics

1.0.2
-------

Stop sending empty sales quotes to Vantage Analytics.

1.0.1
-------

Improved robustness of historical data export process and report historical data export issues to Vantage Analytics.

1.0.0
-------

First stable release.

Download this release

Release Info

Developer Brandon Kane
Extension VantageAnalytics_Analytics
Version 1.2.5
Comparing to
See all releases


Code changes from version 1.2.4 to 1.2.5

app/code/community/VantageAnalytics/Analytics/Helper/Account.php CHANGED
@@ -146,18 +146,4 @@ class VantageAnalytics_Analytics_Helper_Account extends Mage_Core_Helper_Abstrac
146
  $mySecret = $this->secret();
147
  return $this->hashEquals($mySecret, $providedSecret);
148
  }
149
-
150
-
151
- public function getSiteId()
152
- {
153
- $siteId = Mage::getStoreConfig('vantageanalytics/accountoptions/siteid', 0);
154
-
155
- if (empty($siteId)) {
156
- $siteId = uniqid();
157
- Mage::getConfig()->saveConfig('vantageanalytics/accountoptions/siteid', $siteId);
158
- Mage::getConfig()->reinit();
159
- }
160
-
161
- return $siteId;
162
- }
163
  }
146
  $mySecret = $this->secret();
147
  return $this->hashEquals($mySecret, $providedSecret);
148
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  }
app/code/community/VantageAnalytics/Analytics/Model/Cron.php DELETED
@@ -1,109 +0,0 @@
1
- <?php
2
-
3
- class VantageAnalytics_Analytics_Model_Cron
4
- {
5
- public function __construct()
6
- {
7
- $this->lockfile = null;
8
- }
9
-
10
- protected function log($msg)
11
- {
12
- Mage::helper('analytics/log')->logInfo('Cron ' . $msg);
13
- }
14
-
15
- protected function jitter()
16
- {
17
- $seconds = rand(0, 5);
18
- $this->log("Sleeping for {$seconds} seconds");
19
- sleep($seconds);
20
- }
21
-
22
- protected function ensureLockDirectoryExists()
23
- {
24
- $dir = Mage::getBaseDir('var').DS.'locks';
25
- if (!file_exists($dir)) {
26
- mkdir($dir);
27
- }
28
- }
29
-
30
- protected function getCronLockfile()
31
- {
32
- $this->ensureLockDirectoryExists();
33
-
34
- if (is_null($this->lockfile)) {
35
- $this->log('lock file opened');
36
- $this->lockfile = fopen(Mage::getBaseDir('var').DS.'locks'.DS.'vantage_cron_lock', 'w');
37
- }
38
- return $this->lockfile;
39
- }
40
-
41
- public function acquireCronLock()
42
- {
43
- $this->log('attempting to acquire the lock');
44
- $file = $this->getCronLockfile();
45
- return flock($file, LOCK_EX | LOCK_NB);
46
- }
47
-
48
- public function releaseCronLock()
49
- {
50
- // Not strictly necessary because the process will close the handle on exit anyway
51
- $this->log('lock file closed');
52
- fclose($this->lockfile);
53
- }
54
-
55
- public function runHistoricalExport()
56
- {
57
- $export = Mage::getModel('analytics/Export_Runner');
58
- $export->run();
59
- }
60
-
61
- public function pollPixelUrls()
62
- {
63
- $pixel = Mage::getModel('analytics/Pixel');
64
- $pixel->run();
65
- }
66
-
67
- protected function accountIsVerified()
68
- {
69
- return Mage::helper('analytics/account')->isVerified();
70
- }
71
-
72
- protected function cronIsEnabled()
73
- {
74
- return Mage::helper('analytics/account')->isCronEnabled();
75
- }
76
-
77
- public function run()
78
- {
79
- if (!$this->cronIsEnabled()) {
80
- return;
81
- }
82
-
83
- if (!$this->accountIsVerified()) {
84
- $this->log('account verification required or failed. Not running.');
85
- return;
86
- }
87
-
88
- set_time_limit(0);
89
- proc_nice(19); // lower priority - try not to hog CPU
90
-
91
- $this->jitter();
92
-
93
- if (!$this->acquireCronLock()) {
94
- $this->log('lock not acquired - cron is already running');
95
- return;
96
- }
97
-
98
- $this->pollPixelUrls();
99
-
100
- $this->runHistoricalExport();
101
-
102
- $this->log('processing the queue');
103
- $queue = Mage::helper('analytics/queue');
104
- $queue->processQueue();
105
-
106
- $this->log('the queue is empty');
107
- $this->releaseCronLock();
108
- }
109
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/VantageAnalytics/Analytics/Model/Export/Base.php CHANGED
@@ -6,75 +6,6 @@ abstract class VantageAnalytics_Analytics_Model_Export_Base
6
 
7
  abstract protected function createCollection($website, $pageNumber);
8
 
9
- protected function tryToFindPHP($phpv)
10
- {
11
- if (file_exists("/usr/local/php{$phpv}/bin/php")) {
12
- return "/usr/local/php{$phpv}/bin/php";
13
- }
14
-
15
- if (file_exists("/usr/local/php{$phpv}/bin/php{$phpv}")) {
16
- return "/usr/local/php{$phpv}/bin/php{$phpv}";
17
- }
18
-
19
- if (file_exists("/usr/bin/php${phpv}")) {
20
- return "/usr/bin/php{$phpv}";
21
- }
22
-
23
- if (file_exists("/usr/local/bin/php{$phpv}")) {
24
- return "/usr/local/bin/php{$phpv}";
25
- }
26
-
27
- if (function_exists("exec")) {
28
- $exe = exec("which php{$phpv}");
29
- if ($exe) {
30
- return $exe;
31
- }
32
- }
33
- }
34
-
35
- protected function getPathToPHP()
36
- {
37
- if (defined("PHP_BINARY") && file_exists(constant("PHP_BINARY"))) {
38
- return constant("PHP_BINARY");
39
- }
40
- if (defined("PHP_PREFIX") && file_exists(constant("PHP_PREFIX") . "/bin/php")) {
41
- return constant("PHP_PREFIX") . "/bin/php";
42
- }
43
- if (defined("PHP_BIN_DIR") && file_exists(constant("PHP_BIN_DIR") . "/php")) {
44
- return constant("PHP_BIN_DIR") . "/php";
45
- }
46
-
47
- // mage> echo " " . getmypid() . " " . posix_getpid() . " " . exec('echo $PPID');
48
- // 31728 31728 31728
49
- if (function_exists('posix_getpid')) {
50
- $pid = posix_getpid();
51
- } else if (function_exists('getmypid')) {
52
- $pid = getmypid();
53
- } else {
54
- $pid = exec('echo $PPID');
55
- }
56
-
57
- if (function_exists('exec')) {
58
- $exe = exec("readlink -f /proc/$pid/exe");
59
- if ($exe && file_exists($exe)) {
60
- return $exe;
61
- }
62
- }
63
-
64
- $exe = $this->tryToFindPHP("56");
65
- if ($exe) {
66
- return $exe;
67
- }
68
- $exe = $this->tryToFindPHP("5");
69
- if ($exe) {
70
- return $exe;
71
- }
72
- $exe = $this->tryToFindPHP("");
73
- if ($exe) {
74
- return $exe;
75
- }
76
- }
77
-
78
  public function __construct($pageSize = null, $api=null, $transformer='')
79
  {
80
  $this->transformer = $transformer;
@@ -126,60 +57,6 @@ abstract class VantageAnalytics_Analytics_Model_Export_Base
126
  );
127
  }
128
 
129
- protected function exportWebsite($website)
130
- {
131
- $numberOfPages = 5;
132
- $websiteId = $website->getWebsiteId();
133
- $collection = $this->createCollection($website, null);
134
- if (is_null($collection)) {
135
- return;
136
- }
137
- $totalPages = $collection->getLastPageNumber();
138
- $totalItems = $collection->getSize();
139
- $entityName = $this->getEntityName();
140
- $currentPage = 0;
141
- $endPage = $currentPage + $numberOfPages;
142
- $where = Mage::getBaseDir('code') . '/community/VantageAnalytics/Analytics/Model/Export';
143
- $phpbin = $this->getPathToPHP();
144
-
145
- $pids = array();
146
- $maxChildren = 1;
147
-
148
- while ($currentPage <= $totalPages) {
149
- $this->_exportMetaData(
150
- $website->getWebsiteId(),
151
- strtolower($entityName),
152
- $currentPage,
153
- $totalPages,
154
- $this->pageSize,
155
- $totalItems
156
- );
157
-
158
- if ($endPage >= $totalPages) {
159
- $endPage = $totalPages + 1; // The page ranges are inclusive-exclusive so pick up the last page
160
- }
161
-
162
- $retVal = null;
163
- $output = array();
164
- $cmd ="${phpbin} {$where}/ExportPage.php {$entityName} {$websiteId} {$currentPage} {$endPage}";
165
- exec($cmd, $output, $retVal);
166
- if ($retVal !== 0) {
167
- Mage::helper('analytics/log')->logError("Failure running (exit ${retVal}): {$cmd}");
168
- }
169
-
170
- $endPage = $endPage + $numberOfPages;
171
- $currentPage = $currentPage + $numberOfPages;
172
- }
173
- }
174
-
175
- public function run()
176
- {
177
- $websites = Mage::app()->getWebsites();
178
- foreach ($websites as $website) {
179
- $this->exportWebsite($website);
180
- }
181
- }
182
-
183
  public function exportMetaData($websiteId)
184
  {
185
  $websites = Mage::app()->getWebsites();
6
 
7
  abstract protected function createCollection($website, $pageNumber);
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  public function __construct($pageSize = null, $api=null, $transformer='')
10
  {
11
  $this->transformer = $transformer;
57
  );
58
  }
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  public function exportMetaData($websiteId)
61
  {
62
  $websites = Mage::app()->getWebsites();
app/code/community/VantageAnalytics/Analytics/Model/Export/ExportPage.php DELETED
@@ -1,17 +0,0 @@
1
- <?php
2
-
3
- set_time_limit(0);
4
- ini_set('memory_limit', -1);
5
-
6
- require_once('app/Mage.php');
7
-
8
- Mage::app();
9
-
10
- $entityName = $argv[1];
11
- $websiteId = $argv[2];
12
- $startPage = (int)$argv[3];
13
- $endPage = (int)$argv[4];
14
-
15
- $exportClass = "VantageAnalytics_Analytics_Model_Export_" . $entityName;
16
- $exporter = new $exportClass;
17
- $exporter->exportPage($websiteId, $startPage, $endPage);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/VantageAnalytics/Analytics/Model/Transformer/Base.php CHANGED
@@ -40,11 +40,6 @@ abstract class VantageAnalytics_Analytics_Model_Transformer_Base
40
  return NULL;
41
  }
42
 
43
- public function siteId()
44
- {
45
- return Mage::helper('analytics/account')->getSiteId();
46
- }
47
-
48
  public abstract function entityType();
49
  public abstract function toVantage();
50
  }
40
  return NULL;
41
  }
42
 
 
 
 
 
 
43
  public abstract function entityType();
44
  public abstract function toVantage();
45
  }
app/code/community/VantageAnalytics/Analytics/Model/Transformer/BaseSales.php CHANGED
@@ -122,7 +122,6 @@ abstract class VantageAnalytics_Analytics_Model_Transformer_BaseSales extends Va
122
  $quoteData = array(
123
  "external_identifier" => $this->externalIdentifier(),
124
  "store_ids" => $this->storeIds(),
125
- "site_id" => $this->siteId(),
126
  "source_created_at" => $this->sourceCreatedAt(),
127
  "source_updated_at" => $this->sourceUpdatedAt(),
128
  "source_name" => $this->sourceName(),
122
  $quoteData = array(
123
  "external_identifier" => $this->externalIdentifier(),
124
  "store_ids" => $this->storeIds(),
 
125
  "source_created_at" => $this->sourceCreatedAt(),
126
  "source_updated_at" => $this->sourceUpdatedAt(),
127
  "source_name" => $this->sourceName(),
app/code/community/VantageAnalytics/Analytics/Model/Transformer/Customer.php CHANGED
@@ -74,7 +74,6 @@ class VantageAnalytics_Analytics_Model_Transformer_Customer extends VantageAnaly
74
  $c['entity_type'] = $this->entityType();
75
  $c['external_identifier'] = $this->externalIdentifier();
76
  $c['store_ids'] = $this->storeIds();
77
- $c['site_id'] = $this->siteId();
78
  $c['source_created_at'] = $this->sourceCreatedAt();
79
  $c['source_updated_at'] = $this->sourceUpdatedAt();
80
  $c['first_name'] = $this->firstName();
74
  $c['entity_type'] = $this->entityType();
75
  $c['external_identifier'] = $this->externalIdentifier();
76
  $c['store_ids'] = $this->storeIds();
 
77
  $c['source_created_at'] = $this->sourceCreatedAt();
78
  $c['source_updated_at'] = $this->sourceUpdatedAt();
79
  $c['first_name'] = $this->firstName();
app/code/community/VantageAnalytics/Analytics/Model/Transformer/Product.php CHANGED
@@ -100,7 +100,6 @@ class VantageAnalytics_Analytics_Model_Transformer_Product extends VantageAnalyt
100
 
101
  $product['store_ids'] = $this->storeIds();
102
  $product['external_identifier'] = $this->externalIdentifier();
103
- $product['site_id'] = $this->siteId();
104
  $product['external_parent_identifier'] = $this->externalParentIdentifier();
105
  $product['source_created_at'] = $this->sourceCreatedAt();
106
  $product['source_updated_at'] = $this->sourceUpdatedAt();
100
 
101
  $product['store_ids'] = $this->storeIds();
102
  $product['external_identifier'] = $this->externalIdentifier();
 
103
  $product['external_parent_identifier'] = $this->externalParentIdentifier();
104
  $product['source_created_at'] = $this->sourceCreatedAt();
105
  $product['source_updated_at'] = $this->sourceUpdatedAt();
app/code/community/VantageAnalytics/Analytics/Model/Transformer/Store.php CHANGED
@@ -139,9 +139,6 @@ class VantageAnalytics_Analytics_Model_Transformer_Store extends VantageAnalytic
139
  get_class_methods($this),
140
  array('toVantage', '__construct', 'factory')
141
  );
142
-
143
- $methods[] = 'siteId';
144
-
145
  $data = array();
146
  foreach ($methods as $method) {
147
  $attr = strtolower(preg_replace(
139
  get_class_methods($this),
140
  array('toVantage', '__construct', 'factory')
141
  );
 
 
 
142
  $data = array();
143
  foreach ($methods as $method) {
144
  $attr = strtolower(preg_replace(
app/code/community/VantageAnalytics/Analytics/controllers/ExportController.php CHANGED
@@ -37,8 +37,6 @@ class VantageAnalytics_Analytics_ExportController extends Mage_Core_Controller_F
37
  return;
38
  }
39
 
40
- $websiteId = $this->getRequest()->getParam('store_id', '');
41
-
42
  $websites = Mage::app()->getWebsites();
43
 
44
  $inlineApi = new VantageAnalytics_Analytics_Model_Api_Inline();
@@ -47,9 +45,7 @@ class VantageAnalytics_Analytics_ExportController extends Mage_Core_Controller_F
47
  $exporter = new VantageAnalytics_Analytics_Model_Export_Store(5000, $inlineApi);
48
 
49
  foreach ($websites as $website) {
50
- if ($websiteId == '' || $websiteId == $website->getId()) {
51
- $exporter->exportWebsite($website);
52
- }
53
  }
54
 
55
  $results = $inlineApi->queue;
37
  return;
38
  }
39
 
 
 
40
  $websites = Mage::app()->getWebsites();
41
 
42
  $inlineApi = new VantageAnalytics_Analytics_Model_Api_Inline();
45
  $exporter = new VantageAnalytics_Analytics_Model_Export_Store(5000, $inlineApi);
46
 
47
  foreach ($websites as $website) {
48
+ $exporter->exportWebsite($website);
 
 
49
  }
50
 
51
  $results = $inlineApi->queue;
app/code/community/VantageAnalytics/Analytics/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <VantageAnalytics_Analytics>
5
- <version>1.2.4</version>
6
  </VantageAnalytics_Analytics>
7
  </modules>
8
 
@@ -169,14 +169,6 @@
169
 
170
  <crontab>
171
  <jobs>
172
- <analytics>
173
- <schedule>
174
- <cron_expr>*/5 * * * *</cron_expr>
175
- </schedule>
176
- <run>
177
- <model>analytics/cron::run</model>
178
- </run>
179
- </analytics>
180
  <analytics_heartbeat>
181
  <schedule>
182
  <cron_expr>5 * * * *</cron_expr>
2
  <config>
3
  <modules>
4
  <VantageAnalytics_Analytics>
5
+ <version>1.2.2</version>
6
  </VantageAnalytics_Analytics>
7
  </modules>
8
 
169
 
170
  <crontab>
171
  <jobs>
 
 
 
 
 
 
 
 
172
  <analytics_heartbeat>
173
  <schedule>
174
  <cron_expr>5 * * * *</cron_expr>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>VantageAnalytics_Analytics</name>
4
- <version>1.2.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://vantageanalytics.com/legal/terms-of-use/">Commercial - Vantage</license>
7
  <channel>community</channel>
@@ -132,9 +132,9 @@ Improved robustness of historical data export process and report historical data
132
  &#xD;
133
  First stable release.</notes>
134
  <authors><author><name>Brandon Kane</name><user>brandon</user><email>brandon@vantageanalytics.com</email></author></authors>
135
- <date>2017-07-11</date>
136
- <time>19:23:40</time>
137
- <contents><target name="magecommunity"><dir name="VantageAnalytics"><dir name="Analytics"><dir name="Helper"><file name="Account.php" hash="96f82abf69790f76ee15db34d2a586b0"/><file name="Checkout.php" hash="a4ec19d149f0a47936a9e607f0177056"/><file name="Data.php" hash="e2368bb846dc4e8090a31c2cd9b4dd64"/><file name="DateFormatter.php" hash="6e98a6efb5263f01a9d463faa1043d6e"/><dir name="Extension"><file name="Lister.php" hash="332928b892e1d47e5fbda24ea61017a3"/><file name="Pool.php" hash="36da98e3dd9e67c6308ff0901a800e63"/></dir><file name="Log.php" hash="eeb557a144f1254d2f01970530eded32"/><file name="Pixel.php" hash="85e46cf2763f8cb73a4589f3fdb9f7f3"/><file name="Queue.php" hash="3e548ae77ab6a67d1bc279df0c17b165"/><file name="Statuses.php" hash="9527eb737121cd34530c813aea52e962"/><file name="Tracking.php" hash="27ac8e7d194cb4b18712da1a6a8cf5be"/></dir><dir name="Model"><file name="AddressRetriever.php" hash="6d6761b08aa8d50f5473ee79b5211254"/><dir name="Api"><dir name="Exceptions"><file name="BadRequest.php" hash="90e31638b100c1f160b04a06a96c75f7"/><file name="CurlError.php" hash="cf82c3b693522cf86c02f9d1f1e83217"/><file name="MaxRetries.php" hash="2f2be83f975277cca1a5c0442d1e0cb3"/><file name="ServerError.php" hash="d68761c5e4e5e9666a4aa992db74a611"/></dir><file name="Inline.php" hash="5a099b4dadab426f2e50770ff6f86a0d"/><file name="Request.php" hash="e5cac61e391a2b132d7f4b0db0578ada"/><file name="RequestQueue.php" hash="4081a0fca85e229749a6d7403b7b1939"/><file name="Secret.php" hash="4668d55a9ade673da752965486225272"/><file name="Signature.php" hash="9769075f75e55e60442f6e7afe0964d6"/><file name="Username.php" hash="8e8b3b0ae689b615aa19db8608741db9"/><file name="Webhook.php" hash="e4bac72b798acfda514d96b02dc0046c"/></dir><file name="Cron.php" hash="a07ef21d4ba8dd75a683d7a2786d482e"/><file name="Debug.php" hash="2cfcecd19bd97b87bc4fd434d3278fb5"/><dir name="Export"><file name="Base.php" hash="181726d31c30223d38df1c920a36aab6"/><file name="Customer.php" hash="2bac395f9573e99740737348e7cdc0ac"/><file name="ExportPage.php" hash="25fa6d4fa48be30c57abd751185e30a0"/><file name="Order.php" hash="6a779faee4881f5babf032b218642131"/><file name="Product.php" hash="765dfbe5e4e3bf92d22fdfb49035bd98"/><file name="Runner.php" hash="05f1362952b62272e019522e64d1072b"/><file name="Store.php" hash="a1bd7ad27d7d18b9567dbde26b4e94f7"/></dir><file name="Heartbeat.php" hash="d29f235942bc20ea16c9d687af45003e"/><dir name="Observer"><file name="Base.php" hash="613ef7dcf1723cbf26ede5a7f50a8811"/><file name="CatalogProduct.php" hash="4c964ab1dd6850b124442e1a9f7506e7"/><file name="Customer.php" hash="0686ca80283a14d98358b8e7179c1269"/><file name="SalesOrder.php" hash="ec2c0f43df1443387e8c7f740f02cd33"/><file name="SalesQuote.php" hash="c0cc6aea5e71ec06e394883b6bf684da"/><file name="Tracking.php" hash="a8a95092168e0c917109bb4ce9c6d9a9"/></dir><file name="ParentProduct.php" hash="e773561b45bcabbfbd739c49122ccab3"/><file name="Pixel.php" hash="3ed3efdfa25231e1b57ce68cebde4c76"/><file name="ProductCategories.php" hash="d3265e984587bf8a5d5cc202bd464c12"/><file name="ProductImages.php" hash="0c3ee899e4aa884af8d3af0c52259657"/><file name="ProductOptions.php" hash="42fedb046f2ec7deb730239f8b9427d6"/><dir name="Queue"><dir name="Adapter"><file name="Db.php" hash="a1733dc68647c1f812afaf98ce3a26d9"/></dir></dir><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="a115284cf544ad06b799c552b1f8c5c1"/></dir></dir><file name="SubscriberInformation.php" hash="67816c4724238f275a73058553010e83"/><dir name="Transformer"><file name="Address.php" hash="f9f0f27abf5597d89763b55ea9946cd3"/><file name="Base.php" hash="4a6fb13092d4c2137e50b539d0a978dd"/><file name="BaseSales.php" hash="a7b2cea9cfe24cc1302eabceaffa33b6"/><file name="BaseSalesItem.php" hash="aa281fe585defda3844baffeb6dfa9f9"/><file name="Customer.php" hash="3792fbf49350789a32c270cb44153053"/><file name="Product.php" hash="d136ddd59f56df252b18d09847dc965b"/><file name="SalesOrder.php" hash="1b9d74e0ff1b59b0e7cc203b58f1a45e"/><file name="SalesOrderLineItem.php" hash="664fe35f03d901c75fa1796480e40135"/><file name="SalesQuote.php" hash="ffeb73588f89141367a40eb80fd07249"/><file name="SalesQuoteLineItem.php" hash="800ef2a4a2ecd00e9ed82bfb33623ceb"/><file name="Store.php" hash="a09eb4af0ed7919a393f6c061804deec"/></dir></dir><dir name="Test"><dir name="Model"><dir name="Api"><file name="Signature.php" hash="5db3d5f9456c7948ecb636c9fe2d4850"/></dir><file name="Base.php" hash="fa7cb987301c0d1f092146447bac1d35"/><file name="Config.php" hash="84a1043ecfe94e1ff52de06b1c63254e"/><dir name="Customer"><dir name="fixtures"><file name="simpleCustomer.yaml" hash="e6b22424ddc0940226344bcccf13c745"/></dir></dir><file name="Customer.php" hash="77480c5696b5c5f9006b330b8b0d2010"/><file name="DateFormatterTest.php" hash="b7f0ff0cddfb0cce1b73c6a8de8d74dc"/><dir name="LineItem"><dir name="fixtures"><file name="simpleOrder.yaml" hash="8d6ff7b4cf8c434631305b51fca7884c"/></dir></dir><file name="LineItem.php" hash="2f2599d5d80a6726958ab9a3b2b24b96"/><dir name="Observer"><file name="SalesQuote.php" hash="1a6380469b28386dfe42ed7bd3ee39f5"/></dir><dir name="Order"><dir name="fixtures"><file name="orderStatus.yaml" hash="a2786f2eda68ce0035f9edc8beaf9fee"/><file name="orderStatusCanceled.yaml" hash="800fcb6ee04f912e3e3f27efdbdafde3"/><file name="orderStatusComplete.yaml" hash="1c912c447d255f0afd096e6f32eace1c"/><file name="paymentStatusUnpaid.yaml" hash="c0d0a55eec973ad3ee3730ebc143a3b7"/></dir><dir name="providers"><file name="orderStatus.yaml" hash="e88ed6c1b39272f3f4767810a427613c"/></dir></dir><file name="Order.php" hash="82204a6eca60382a189a1482b1f85197"/><dir name="Product"><dir name="fixtures"><file name="parentProduct.yaml" hash="931604baf487baa33cf78dc26548431c"/><file name="simpleProduct.yaml" hash="56b88f052816173a79780f43779df4ff"/></dir></dir><file name="Product.php" hash="2226535622cf67a72efbf747fc0cb87a"/><file name="Webhook.php" hash="d34e01e88599529cf79b8cc27efad550"/></dir></dir><dir name="controllers"><file name="ExportController.php" hash="f11727060d6f57e3c75050296edc995f"/></dir><dir name="etc"><file name="adminhtml.xml" hash="cdfb6a37810355796f416784ce7f5584"/><file name="config.xml" hash="6a2fac47f4b643ff749bbc25f17fccc1"/><file name="system.xml" hash="5085eec015c4e002ba4390af3f60fd53"/></dir><dir name="sql"><dir name="vantageanalytics_analytics_setup"><file name="install-0.1.0.php" hash="0e7150e283f1ece9251af3e3d2ce76aa"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="e61c872d2e3527d8fa9e8daf21d8fc2e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="VantageAnalytics_Analytics.xml" hash="69ca3371e05fff3d8b1e89849e3fab32"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="vantageanalytics"><dir name="analytics"><file name="conversion.phtml" hash="a637baea0a96508e91144d749c37d4af"/><file name="visitor.phtml" hash="35ea63a52433775d4e32dc96b5cdee3f"/><file name="productview.phtml" hash="f2148d125dae6e762c09418291d40328"/></dir></dir></dir><dir name="layout"><file name="vantageanalytics_analytics.xml" hash="c852aff83b27479807f002adb350778f"/></dir></dir></dir></dir></target></contents>
138
  <compatible/>
139
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
140
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>VantageAnalytics_Analytics</name>
4
+ <version>1.2.5</version>
5
  <stability>stable</stability>
6
  <license uri="http://vantageanalytics.com/legal/terms-of-use/">Commercial - Vantage</license>
7
  <channel>community</channel>
132
  &#xD;
133
  First stable release.</notes>
134
  <authors><author><name>Brandon Kane</name><user>brandon</user><email>brandon@vantageanalytics.com</email></author></authors>
135
+ <date>2017-07-19</date>
136
+ <time>06:08:15</time>
137
+ <contents><target name="magecommunity"><dir name="VantageAnalytics"><dir name="Analytics"><dir name="Helper"><file name="Account.php" hash="55df5016610083c1da7df8a8b2d9172f"/><file name="Checkout.php" hash="a4ec19d149f0a47936a9e607f0177056"/><file name="Data.php" hash="e2368bb846dc4e8090a31c2cd9b4dd64"/><file name="DateFormatter.php" hash="6e98a6efb5263f01a9d463faa1043d6e"/><dir name="Extension"><file name="Lister.php" hash="332928b892e1d47e5fbda24ea61017a3"/><file name="Pool.php" hash="36da98e3dd9e67c6308ff0901a800e63"/></dir><file name="Log.php" hash="eeb557a144f1254d2f01970530eded32"/><file name="Pixel.php" hash="85e46cf2763f8cb73a4589f3fdb9f7f3"/><file name="Queue.php" hash="3e548ae77ab6a67d1bc279df0c17b165"/><file name="Statuses.php" hash="9527eb737121cd34530c813aea52e962"/><file name="Tracking.php" hash="27ac8e7d194cb4b18712da1a6a8cf5be"/></dir><dir name="Model"><file name="AddressRetriever.php" hash="6d6761b08aa8d50f5473ee79b5211254"/><dir name="Api"><dir name="Exceptions"><file name="BadRequest.php" hash="90e31638b100c1f160b04a06a96c75f7"/><file name="CurlError.php" hash="cf82c3b693522cf86c02f9d1f1e83217"/><file name="MaxRetries.php" hash="2f2be83f975277cca1a5c0442d1e0cb3"/><file name="ServerError.php" hash="d68761c5e4e5e9666a4aa992db74a611"/></dir><file name="Inline.php" hash="5a099b4dadab426f2e50770ff6f86a0d"/><file name="Request.php" hash="e5cac61e391a2b132d7f4b0db0578ada"/><file name="RequestQueue.php" hash="4081a0fca85e229749a6d7403b7b1939"/><file name="Secret.php" hash="4668d55a9ade673da752965486225272"/><file name="Signature.php" hash="9769075f75e55e60442f6e7afe0964d6"/><file name="Username.php" hash="8e8b3b0ae689b615aa19db8608741db9"/><file name="Webhook.php" hash="e4bac72b798acfda514d96b02dc0046c"/></dir><file name="Debug.php" hash="2cfcecd19bd97b87bc4fd434d3278fb5"/><dir name="Export"><file name="Base.php" hash="3fce3fb3983ed2b27c6bde233995c40b"/><file name="Customer.php" hash="2bac395f9573e99740737348e7cdc0ac"/><file name="Order.php" hash="6a779faee4881f5babf032b218642131"/><file name="Product.php" hash="765dfbe5e4e3bf92d22fdfb49035bd98"/><file name="Runner.php" hash="05f1362952b62272e019522e64d1072b"/><file name="Store.php" hash="a1bd7ad27d7d18b9567dbde26b4e94f7"/></dir><file name="Heartbeat.php" hash="d29f235942bc20ea16c9d687af45003e"/><dir name="Observer"><file name="Base.php" hash="613ef7dcf1723cbf26ede5a7f50a8811"/><file name="CatalogProduct.php" hash="4c964ab1dd6850b124442e1a9f7506e7"/><file name="Customer.php" hash="0686ca80283a14d98358b8e7179c1269"/><file name="SalesOrder.php" hash="ec2c0f43df1443387e8c7f740f02cd33"/><file name="SalesQuote.php" hash="c0cc6aea5e71ec06e394883b6bf684da"/><file name="Tracking.php" hash="a8a95092168e0c917109bb4ce9c6d9a9"/></dir><file name="ParentProduct.php" hash="e773561b45bcabbfbd739c49122ccab3"/><file name="Pixel.php" hash="3ed3efdfa25231e1b57ce68cebde4c76"/><file name="ProductCategories.php" hash="d3265e984587bf8a5d5cc202bd464c12"/><file name="ProductImages.php" hash="0c3ee899e4aa884af8d3af0c52259657"/><file name="ProductOptions.php" hash="42fedb046f2ec7deb730239f8b9427d6"/><dir name="Queue"><dir name="Adapter"><file name="Db.php" hash="a1733dc68647c1f812afaf98ce3a26d9"/></dir></dir><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="a115284cf544ad06b799c552b1f8c5c1"/></dir></dir><file name="SubscriberInformation.php" hash="67816c4724238f275a73058553010e83"/><dir name="Transformer"><file name="Address.php" hash="f9f0f27abf5597d89763b55ea9946cd3"/><file name="Base.php" hash="31313c87cefc65e9299f4996ae73a97d"/><file name="BaseSales.php" hash="d5ea80caa43574a81f72e7fb54a73a88"/><file name="BaseSalesItem.php" hash="aa281fe585defda3844baffeb6dfa9f9"/><file name="Customer.php" hash="0ffa13cdea0308170ce4c0a6f7f03950"/><file name="Product.php" hash="9c29061ac16210563b8f331b962e5afc"/><file name="SalesOrder.php" hash="1b9d74e0ff1b59b0e7cc203b58f1a45e"/><file name="SalesOrderLineItem.php" hash="664fe35f03d901c75fa1796480e40135"/><file name="SalesQuote.php" hash="ffeb73588f89141367a40eb80fd07249"/><file name="SalesQuoteLineItem.php" hash="800ef2a4a2ecd00e9ed82bfb33623ceb"/><file name="Store.php" hash="80dd794795bcdef4442206a40c1d6a3e"/></dir></dir><dir name="Test"><dir name="Model"><dir name="Api"><file name="Signature.php" hash="5db3d5f9456c7948ecb636c9fe2d4850"/></dir><file name="Base.php" hash="fa7cb987301c0d1f092146447bac1d35"/><file name="Config.php" hash="84a1043ecfe94e1ff52de06b1c63254e"/><dir name="Customer"><dir name="fixtures"><file name="simpleCustomer.yaml" hash="e6b22424ddc0940226344bcccf13c745"/></dir></dir><file name="Customer.php" hash="77480c5696b5c5f9006b330b8b0d2010"/><file name="DateFormatterTest.php" hash="b7f0ff0cddfb0cce1b73c6a8de8d74dc"/><dir name="LineItem"><dir name="fixtures"><file name="simpleOrder.yaml" hash="8d6ff7b4cf8c434631305b51fca7884c"/></dir></dir><file name="LineItem.php" hash="2f2599d5d80a6726958ab9a3b2b24b96"/><dir name="Observer"><file name="SalesQuote.php" hash="1a6380469b28386dfe42ed7bd3ee39f5"/></dir><dir name="Order"><dir name="fixtures"><file name="orderStatus.yaml" hash="a2786f2eda68ce0035f9edc8beaf9fee"/><file name="orderStatusCanceled.yaml" hash="800fcb6ee04f912e3e3f27efdbdafde3"/><file name="orderStatusComplete.yaml" hash="1c912c447d255f0afd096e6f32eace1c"/><file name="paymentStatusUnpaid.yaml" hash="c0d0a55eec973ad3ee3730ebc143a3b7"/></dir><dir name="providers"><file name="orderStatus.yaml" hash="e88ed6c1b39272f3f4767810a427613c"/></dir></dir><file name="Order.php" hash="82204a6eca60382a189a1482b1f85197"/><dir name="Product"><dir name="fixtures"><file name="parentProduct.yaml" hash="931604baf487baa33cf78dc26548431c"/><file name="simpleProduct.yaml" hash="56b88f052816173a79780f43779df4ff"/></dir></dir><file name="Product.php" hash="2226535622cf67a72efbf747fc0cb87a"/><file name="Webhook.php" hash="d34e01e88599529cf79b8cc27efad550"/></dir></dir><dir name="controllers"><file name="ExportController.php" hash="1935e4bab16b1b7d2be72e692850814c"/></dir><dir name="etc"><file name="adminhtml.xml" hash="cdfb6a37810355796f416784ce7f5584"/><file name="config.xml" hash="72505453987012587ac3969b19f033b8"/><file name="system.xml" hash="5085eec015c4e002ba4390af3f60fd53"/></dir><dir name="sql"><dir name="vantageanalytics_analytics_setup"><file name="install-0.1.0.php" hash="0e7150e283f1ece9251af3e3d2ce76aa"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="e61c872d2e3527d8fa9e8daf21d8fc2e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="VantageAnalytics_Analytics.xml" hash="69ca3371e05fff3d8b1e89849e3fab32"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="vantageanalytics"><dir name="analytics"><file name="conversion.phtml" hash="a637baea0a96508e91144d749c37d4af"/><file name="visitor.phtml" hash="35ea63a52433775d4e32dc96b5cdee3f"/><file name="productview.phtml" hash="f2148d125dae6e762c09418291d40328"/></dir></dir></dir><dir name="layout"><file name="vantageanalytics_analytics.xml" hash="c852aff83b27479807f002adb350778f"/></dir></dir></dir></dir></target></contents>
138
  <compatible/>
139
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
140
  </package>