Nexcessnet_Turpentine - Version 0.6.4

Version Notes

Supports Magento v1.6 and later

Download this release

Release Info

Developer Chris Wells
Extension Nexcessnet_Turpentine
Version 0.6.4
Comparing to
See all releases


Code changes from version 0.6.3 to 0.6.4

app/code/community/Nexcessnet/Turpentine/etc/config.xml CHANGED
@@ -20,7 +20,7 @@
20
  <config>
21
  <modules>
22
  <Nexcessnet_Turpentine>
23
- <version>0.6.3</version>
24
  </Nexcessnet_Turpentine>
25
  </modules>
26
  <default>
20
  <config>
21
  <modules>
22
  <Nexcessnet_Turpentine>
23
+ <version>0.6.4</version>
24
  </Nexcessnet_Turpentine>
25
  </modules>
26
  <default>
app/design/adminhtml/default/default/template/turpentine/varnish_management.phtml ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Nexcess.net Turpentine Extension for Magento
5
+ * Copyright (C) 2012 Nexcess.net L.L.C.
6
+ *
7
+ * This program is free software; you can redistribute it and/or modify
8
+ * it under the terms of the GNU General Public License as published by
9
+ * the Free Software Foundation; either version 2 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License along
18
+ * with this program; if not, write to the Free Software Foundation, Inc.,
19
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
+ */
21
+
22
+ ?>
23
+ <br />
24
+ <div class="content-header">
25
+ <table cellspacing="0">
26
+ <tr>
27
+ <td>
28
+ <h3><?php echo Mage::helper( 'turpentine/data' )
29
+ ->__('Varnish Management') ?></h3>
30
+ </td>
31
+ <td class="form-buttons"></td>
32
+ </tr>
33
+ </table>
34
+ </div>
35
+ <table class="form-list varnish-management">
36
+ <tr>
37
+ <td class="scope-label">
38
+ <button
39
+ onclick="setLocation('<?php echo $this->getApplyConfigUrl()?>')"
40
+ type="button"
41
+ class="scalable save">
42
+ <span><?php echo Mage::helper( 'turpentine/data' )
43
+ ->__('Apply Varnish Config') ?></span>
44
+ </button>
45
+ </td>
46
+ <td class="scope-label">
47
+ <?php echo Mage::helper( 'turpentine/data' )
48
+ ->__('Update the VCL configuration on the running Varnish instances')?>
49
+ </td>
50
+ </tr>
51
+ <tr>
52
+ <td class="scope-label">
53
+ <button
54
+ onclick="setLocation('<?php echo $this->getSaveConfigUrl()?>')"
55
+ type="button"
56
+ class="scalable save">
57
+ <span><?php echo Mage::helper( 'turpentine/data' )
58
+ ->__('Save Varnish Config') ?></span>
59
+ </button>
60
+ </td>
61
+ <td class="scope-label">
62
+ <?php echo Mage::helper( 'turpentine/data' )
63
+ ->__('Save the configuration to a VCL file.')?>
64
+ </td>
65
+ </tr>
66
+ <tr>
67
+ <td class="scope-label">
68
+ <button
69
+ onclick="setLocation('<?php echo $this->getGetConfigUrl()?>')"
70
+ type="button"
71
+ class="scalable">
72
+ <span><?php echo Mage::helper( 'turpentine/data' )
73
+ ->__('Download Varnish Config') ?></span>
74
+ </button>
75
+ </td>
76
+ <td class="scope-label">
77
+ <?php echo Mage::helper( 'turpentine/data' )
78
+ ->__('Download the generated VCL file.')?>
79
+ </td>
80
+ </tr>
81
+ <tr>
82
+ <?php if( Mage::helper( 'turpentine/varnish' )->isBypassEnabled() ): ?>
83
+ <td class="scope-label">
84
+ <button
85
+ onclick="setLocation('<?php echo $this->getSwitchNavigationUrl( 'varnish' ); ?>')"
86
+ type="button"
87
+ class="scalable back">
88
+ <span><?php echo Mage::helper( 'turpentine/data' )
89
+ ->__('Deactivate Varnish Bypass') ?></span>
90
+ </button>
91
+ </td>
92
+ <td class="scope-label">
93
+ <?php echo Mage::helper( 'turpentine/data' )
94
+ ->__('Remove the bypass cookie and use again Varnish.')?>
95
+ </td>
96
+ <?php else: ?>
97
+ <td class="scope-label">
98
+ <button
99
+ onclick="setLocation('<?php echo $this->getSwitchNavigationUrl( 'default' ); ?>')"
100
+ type="button"
101
+ class="scalable delete">
102
+ <span><?php echo Mage::helper( 'turpentine/data' )
103
+ ->__('Activate Varnish Bypass') ?></span>
104
+ </button>
105
+ </td>
106
+ <td class="scope-label">
107
+ <?php echo Mage::helper( 'turpentine/data' )
108
+ ->__('Create a cookie to bypass Varnish only for your session.')?>
109
+ </td>
110
+ <?php endif; ?>
111
+ </tr>
112
+ <tr>
113
+ <td colspan="2" class="scope-label">
114
+ <form action="<?php echo $this->getFlushPartialUrl(); ?>" method="post" id="partial_url_form">
115
+ <?php echo $this->getBlockHtml('formkey')?>
116
+ <button
117
+ type="submit"
118
+ class="scalable delete">
119
+ <span><?php echo Mage::helper( 'turpentine/data' )
120
+ ->__('Flush matching URLs') ?></span>
121
+ </button>
122
+ <input id="pattern" name="pattern" type="text" style="width: 295px; margin-left: 5px;" class="required-entry" value="" />
123
+ </form>
124
+ <script type="text/javascript">
125
+ var partialUrlForm = new varienForm('partial_url_form');
126
+ new Varien.searchForm('partial_url_form', 'pattern', '<?php echo Mage::helper( 'turpentine/data' )
127
+ ->__('Enter a (relative) regex to flush matching URLs')?>');
128
+ </script>
129
+ </td>
130
+ </tr>
131
+ </table>
132
+ <?php echo $this->getChildHtml(); ?>
133
+
134
+ <style>
135
+ .varnish-management button {
136
+ width: 190px;
137
+ }
138
+ </style>
app/design/frontend/base/default/template/turpentine/ajax.phtml ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Nexcess.net Turpentine Extension for Magento
5
+ * Copyright (C) 2012 Nexcess.net L.L.C.
6
+ *
7
+ * This program is free software; you can redistribute it and/or modify
8
+ * it under the terms of the GNU General Public License as published by
9
+ * the Free Software Foundation; either version 2 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License along
18
+ * with this program; if not, write to the Free Software Foundation, Inc.,
19
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
+ */
21
+
22
+ $debugEnabled = (bool)Mage::helper( 'turpentine/esi' )->getEsiDebugEnabled();
23
+ $blockTag = sprintf( 'turpentine-esi-block-%s',
24
+ Mage::helper( 'turpentine/data' )->secureHash( $this->getNameInLayout() ) );
25
+
26
+ if( $debugEnabled ) {
27
+ echo sprintf( '<!-- AJAX START [%s] -->', $this->getNameInLayout() ) . PHP_EOL;
28
+ }
29
+ /**
30
+ * Note that the new content will be inside the "turpentine-esi-block" div
31
+ * which could possible alter how things are displayed. If this turns out to
32
+ * be an issue we'll have to go back to using Ajax.Request so the container
33
+ * block is completely replaced which means no nice appear effect.
34
+ *
35
+ * @link http://prototypejs.org/doc/latest/ajax/index.html
36
+ * @link http://prototypejs.org/doc/latest/ajax/Ajax/Request/index.html
37
+ * @link http://prototypejs.org/doc/latest/dom/Element/replace/index.html
38
+ * @link http://madrobby.github.com/scriptaculous/effect-appear/
39
+ *
40
+ * @link http://api.jquery.com/jQuery.ajax/
41
+ * @link http://api.jquery.com/fadeIn/
42
+ */
43
+ $_prototypeFunction = $debugEnabled ? 'onComplete' : 'onSuccess';
44
+ $_jQueryFunction = $debugEnabled ? 'always' : 'done';
45
+ echo <<<HTML
46
+ <div id="$blockTag" style="display: none">
47
+ <script type="text/javascript">
48
+ (function() {
49
+ var blockTag = {$this->helper('core')->jsonEncode($blockTag)}, esiUrl = {$this->helper('core')->jsonEncode($this->getEsiUrl())};
50
+ if (typeof Ajax === 'object' && typeof Ajax.Updater === 'function') {
51
+ new Ajax.Updater(
52
+ blockTag,
53
+ esiUrl,
54
+ {
55
+ method: "get",
56
+ evalScripts: true,
57
+ {$_prototypeFunction}: function() {
58
+ $(blockTag).appear({
59
+ duration: 0.3
60
+ });
61
+ }
62
+ }
63
+ );
64
+ } else if (typeof jQuery === 'function') {
65
+ jQuery.ajax(
66
+ {
67
+ url: esiUrl,
68
+ type: "get",
69
+ dataType: "html"
70
+ }
71
+ ).{$_jQueryFunction}(function() {
72
+ $(blockTag).fadeIn(300);
73
+ });
74
+ }
75
+ })();
76
+ </script>
77
+ </div>
78
+ HTML;
79
+ if( $debugEnabled ) {
80
+ echo sprintf( '<!-- AJAX END [%s] -->', $this->getNameInLayout() ) . PHP_EOL;
81
+ }
app/design/frontend/base/default/template/turpentine/esi.phtml ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Nexcess.net Turpentine Extension for Magento
5
+ * Copyright (C) 2012 Nexcess.net L.L.C.
6
+ *
7
+ * This program is free software; you can redistribute it and/or modify
8
+ * it under the terms of the GNU General Public License as published by
9
+ * the Free Software Foundation; either version 2 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License along
18
+ * with this program; if not, write to the Free Software Foundation, Inc.,
19
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
+ */
21
+
22
+ $debugEnabled = (bool)Mage::helper( 'turpentine/esi' )->getEsiDebugEnabled();
23
+
24
+ if( $debugEnabled ) {
25
+ echo sprintf( '<!-- ESI START [%s] -->', $this->getNameInLayout() ) . PHP_EOL;
26
+ echo sprintf( '<!-- ESI URL: %s -->', $this->getEsiUrl() ) . PHP_EOL;
27
+ } else {
28
+ echo '<!-- ESI START DUMMY COMMENT [] -->' . PHP_EOL;
29
+ echo '<!-- ESI URL DUMMY COMMENT -->' . PHP_EOL;
30
+ }
31
+ echo sprintf( '<esi:remove>ESI processing not enabled</esi:remove>
32
+ <!--esi <esi:include src="%s" /> -->',
33
+ $this->getEsiUrl() ) . PHP_EOL;
34
+ if( $debugEnabled ) {
35
+ echo sprintf( '<!-- ESI END [%s] -->', $this->getNameInLayout() ) . PHP_EOL;
36
+ } else {
37
+ echo '<!-- ESI END DUMMY COMMENT [] -->' . PHP_EOL;
38
+ }
app/design/frontend/base/default/template/turpentine/notices.phtml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Nexcess.net Turpentine Extension for Magento
4
+ * Copyright (C) 2012 Nexcess.net L.L.C.
5
+ *
6
+ * This program is free software; you can redistribute it and/or modify
7
+ * it under the terms of the GNU General Public License as published by
8
+ * the Free Software Foundation; either version 2 of the License, or
9
+ * (at your option) any later version.
10
+ *
11
+ * This program is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ * GNU General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU General Public License along
17
+ * with this program; if not, write to the Free Software Foundation, Inc.,
18
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
+ */
20
+ ?>
21
+
22
+ <?php if($this->helper( 'turpentine/varnish' )->shouldDisplayNotice()): ?>
23
+ <div class="varnish-global-notice">
24
+ <div class="notice-inner">
25
+ <p>
26
+ <strong><?php echo $this->__('The cookie that allows bypassing Varnish is present in your browser.'); ?></strong><br />
27
+ <?php echo $this->__('Remember that this navigation mode should be only activated for testing. You will suffer a decline in overall performance until you delete this cookie.'); ?>
28
+ </p>
29
+ </div>
30
+ </div>
31
+ <style>
32
+ .varnish-global-notice { border:1px solid #cfcfcf; border-width:0 0 1px; background:#ffff90; font-size:12px; line-height:1.25; text-align:center; color:#2f2f2f; }
33
+ .varnish-global-notice .notice-inner { width:860px; margin:0 auto; padding:12px 0 12px 0px; text-align:left; }
34
+ .varnish-global-notice .notice-inner p { margin:0; padding:10px; }
35
+ </style>
36
+ <?php endif; ?>
package.xml CHANGED
@@ -1,2 +1,2 @@
1
  <?xml version='1.0' encoding='utf-8'?>
2
- <package><name>Nexcessnet_Turpentine</name><license uri="http://opensource.org/licenses/GPL-2.0">GPLv2</license><notes>Supports Magento v1.6 and later</notes><time>11:56:08</time><__packager>build_package.py v0.0.3</__packager><summary>Improves Magento support for Varnish caching and generates 2.1 and 3.0 compatible VCLs.</summary><stability>stable</stability><__commit_hash>42cd7044e41e01bd7ebce968d6b05001838afd3a</__commit_hash><version>0.6.3</version><extends /><contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file hash="a0bd4a5632b369b058c0ec5262e0cc49" name="turpentine.xml" /></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file hash="7b6eab8bd2e7528eafb647c3e2ba8634" name="turpentine_esi.xml" /></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file hash="58848d4d90973bfd63b466ea181352a5" name="Nexcessnet_Turpentine.xml" /></dir></target><target name="magecommunity"><dir name="Nexcessnet"><dir name="Turpentine"><dir name="Helper"><file hash="a7d1c51e24f9d35373fc8533871120a3" name="Esi.php" /><file hash="802e269b0c80131efbb070309fdc610f" name="Varnish.php" /><file hash="913d0762f9df7696f1217f82791f1b78" name="Cron.php" /><file hash="0ee525f0fba5236f05ad2289fe2f2292" name="Data.php" /><file hash="6b637be4eac4c924fc1f02b2d49699c3" name="Ban.php" /><file hash="4a448ad2fe5b5a253a37d3f4aa3dd1bb" name="Debug.php" /></dir><dir name="misc"><file hash="7c24835522ec526d212ea98add1ceb2a" name="version-3.vcl" /><file hash="ba5d5c7263cd90eea3785953e3549041" name="uuid.c" /><file hash="6298eb180a1ae61a79b0cf929be61144" name="version-2.vcl" /></dir><dir name="etc"><file hash="6dd44a194829f6e28daa977efe324f22" name="system.xml" /><file hash="3b608fbcca3d307833d10604dff23966" name="cache.xml" /><file hash="1194d7176973fa7bcd8f6ad4c7d9b346" name="config.xml" /></dir><dir name="controllers"><file hash="3446129075986c4143e9d74d5154cf64" name="EsiController.php" /><dir name="Adminhtml"><file hash="fb44492ff908e0dd28a4fa62e382bd3e" name="CacheController.php" /></dir><dir name="Varnish"><file hash="625118bfe342139b7fd9464c05d1b0a6" name="ManagementController.php" /></dir></dir><dir name="Model"><file hash="c2cb79001524617febbfddf099d09f37" name="Session.php" /><dir name="Shim"><dir name="Mage"><dir name="Core"><file hash="9e5d87f0aa84c9fb1541db83aba69abd" name="Config.php" /><file hash="821bff6c2fb372e3ffb39abf6453b3f8" name="Layout.php" /><file hash="4a1aa246373520936f0e4b5b3a3baf25" name="App.php" /></dir></dir></dir><dir name="PageCache"><dir name="Container"><file hash="139e8a9bfa209316036e798fff654a8a" name="Notices.php" /></dir></dir><dir name="Dummy"><file hash="f6611808da53ffa00561a8f76b26016e" name="Request.php" /></dir><dir name="Varnish"><file hash="6c1a8e5e3f412bff082c6df136e5db1a" name="Admin.php" /><dir name="Admin"><file hash="c3d44d59ece358553d2cfa8f92964d39" name="Socket.php" /></dir><dir name="Configurator"><file hash="b831b872fcb05d9c723149159db0eed1" name="Version2.php" /><file hash="82d0abe0123272e59e6c319dfdd4e9dc" name="Version3.php" /><file hash="fd99025d6f79c2a2dfe5a910099b6ac6" name="Abstract.php~" /><file hash="d63b4714180cb963d81d32a3fa31e95e" name="Abstract.php" /></dir></dir><dir name="Observer"><file hash="4d97c660f6ad74162f842d5d2bfa53d7" name="Esi.php" /><file hash="7244a8ce600e980d612409595b9b6b9b" name="Varnish.php" /><file hash="a34e79218e8ca1fefad303b9399bda9d" name="Cron.php" /><file hash="5b6c57ab373444fcac7a42262f8178d5" name="Ban.php" /><file hash="9d57fad69ff42b71c66ca26bc3372317" name="Debug.php" /></dir><dir name="Core"><file hash="d4f63abc6d34c923c6e64a522b6fc36e" name="Session.php" /></dir><dir name="Config"><dir name="Select"><file hash="2e01b14592189b3f6a8a05be5ef4c69c" name="StripWhitespace.php" /><file hash="dc472f34c25b1688cfa9fa206958c536" name="Version.php" /><file hash="9348c5e58037fd97d89b84ccab4ef2d0" name="Toggle.php" /></dir></dir></dir><dir name="Block"><file hash="e9b03d651a8da9b1d32c4fd2f4781792" name="Management.php" /><file hash="390cf75d04b1b098cad562229b649c2d" name="Notices.php" /><dir name="Adminhtml"><dir name="Cache"><file hash="798cf7afa80e0a06be2b8c6cb2bef02b" name="Grid.php" /></dir></dir><dir name="Catalog"><dir name="Product"><dir name="List"><file hash="ce9fca4c273987759f284fe31c1597f5" name="Toolbar.php" /></dir></dir></dir><dir name="Core"><file hash="f9b035bb701943aa12755abdb029fa8f" name="Messages.php" /></dir><dir name="Poll"><file hash="bf9ca23a445776435e38e6c8be9976ea" name="ActivePoll.php" /></dir></dir></dir></dir></target></contents><dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies><authors><author><name>Chris Wells</name><user>nexcess_net</user><email>clwells@nexcess.net</email></author><author><name>Alex Headley</name><user>aheadley_nex</user><email>aheadley@nexcess.net</email></author></authors><date>2015-07-28</date><compatibile /><channel>community</channel><description>Turpentine is a Magento extension to improve Magento's compatibility with Varnish, a very-fast caching reverse-proxy. By default, Varnish doesn't cache requests with cookies and Magento sends the frontend cookie with every request causing a (near) zero hit-rate for Varnish's cache. Turpentine provides Varnish configuration files (VCLs) to work with Magento and modifies Magento's behaviour to significantly improve the cache hit rate.</description></package>
1
  <?xml version='1.0' encoding='utf-8'?>
2
+ <package><name>Nexcessnet_Turpentine</name><license uri="http://opensource.org/licenses/GPL-2.0">GPLv2</license><notes>Supports Magento v1.6 and later</notes><time>12:45:26</time><__packager>build_package.py v0.0.3</__packager><summary>Improves Magento support for Varnish caching and generates 2.1 and 3.0 compatible VCLs.</summary><stability>stable</stability><__commit_hash>feec575367627438a6c70ce7c457d09dddcf8d4d</__commit_hash><version>0.6.4</version><extends /><contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file hash="a0bd4a5632b369b058c0ec5262e0cc49" name="turpentine.xml" /></dir><dir name="template"><dir name="turpentine"><file hash="b564606032d111537d02c8da63470c39" name="varnish_management.phtml" /></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file hash="7b6eab8bd2e7528eafb647c3e2ba8634" name="turpentine_esi.xml" /></dir><dir name="template"><dir name="turpentine"><file hash="50798888953fd1550e4347c39e395d0a" name="notices.phtml" /><file hash="b268c48251ccfccf5c775d3e85513584" name="esi.phtml" /><file hash="252356c9ea115fca63e52d54f67d755f" name="ajax.phtml" /></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file hash="58848d4d90973bfd63b466ea181352a5" name="Nexcessnet_Turpentine.xml" /></dir></target><target name="magecommunity"><dir name="Nexcessnet"><dir name="Turpentine"><dir name="Helper"><file hash="a7d1c51e24f9d35373fc8533871120a3" name="Esi.php" /><file hash="802e269b0c80131efbb070309fdc610f" name="Varnish.php" /><file hash="913d0762f9df7696f1217f82791f1b78" name="Cron.php" /><file hash="0ee525f0fba5236f05ad2289fe2f2292" name="Data.php" /><file hash="6b637be4eac4c924fc1f02b2d49699c3" name="Ban.php" /><file hash="4a448ad2fe5b5a253a37d3f4aa3dd1bb" name="Debug.php" /></dir><dir name="misc"><file hash="7c24835522ec526d212ea98add1ceb2a" name="version-3.vcl" /><file hash="ba5d5c7263cd90eea3785953e3549041" name="uuid.c" /><file hash="6298eb180a1ae61a79b0cf929be61144" name="version-2.vcl" /></dir><dir name="etc"><file hash="6dd44a194829f6e28daa977efe324f22" name="system.xml" /><file hash="3b608fbcca3d307833d10604dff23966" name="cache.xml" /><file hash="c1dc6245f39fbc925169dae62571e526" name="config.xml" /></dir><dir name="controllers"><file hash="3446129075986c4143e9d74d5154cf64" name="EsiController.php" /><dir name="Adminhtml"><file hash="fb44492ff908e0dd28a4fa62e382bd3e" name="CacheController.php" /></dir><dir name="Varnish"><file hash="625118bfe342139b7fd9464c05d1b0a6" name="ManagementController.php" /></dir></dir><dir name="Model"><file hash="c2cb79001524617febbfddf099d09f37" name="Session.php" /><dir name="Shim"><dir name="Mage"><dir name="Core"><file hash="9e5d87f0aa84c9fb1541db83aba69abd" name="Config.php" /><file hash="821bff6c2fb372e3ffb39abf6453b3f8" name="Layout.php" /><file hash="4a1aa246373520936f0e4b5b3a3baf25" name="App.php" /></dir></dir></dir><dir name="PageCache"><dir name="Container"><file hash="139e8a9bfa209316036e798fff654a8a" name="Notices.php" /></dir></dir><dir name="Dummy"><file hash="f6611808da53ffa00561a8f76b26016e" name="Request.php" /></dir><dir name="Varnish"><file hash="6c1a8e5e3f412bff082c6df136e5db1a" name="Admin.php" /><dir name="Admin"><file hash="c3d44d59ece358553d2cfa8f92964d39" name="Socket.php" /></dir><dir name="Configurator"><file hash="b831b872fcb05d9c723149159db0eed1" name="Version2.php" /><file hash="82d0abe0123272e59e6c319dfdd4e9dc" name="Version3.php" /><file hash="fd99025d6f79c2a2dfe5a910099b6ac6" name="Abstract.php~" /><file hash="d63b4714180cb963d81d32a3fa31e95e" name="Abstract.php" /></dir></dir><dir name="Observer"><file hash="4d97c660f6ad74162f842d5d2bfa53d7" name="Esi.php" /><file hash="7244a8ce600e980d612409595b9b6b9b" name="Varnish.php" /><file hash="a34e79218e8ca1fefad303b9399bda9d" name="Cron.php" /><file hash="5b6c57ab373444fcac7a42262f8178d5" name="Ban.php" /><file hash="9d57fad69ff42b71c66ca26bc3372317" name="Debug.php" /></dir><dir name="Core"><file hash="d4f63abc6d34c923c6e64a522b6fc36e" name="Session.php" /></dir><dir name="Config"><dir name="Select"><file hash="2e01b14592189b3f6a8a05be5ef4c69c" name="StripWhitespace.php" /><file hash="dc472f34c25b1688cfa9fa206958c536" name="Version.php" /><file hash="9348c5e58037fd97d89b84ccab4ef2d0" name="Toggle.php" /></dir></dir></dir><dir name="Block"><file hash="e9b03d651a8da9b1d32c4fd2f4781792" name="Management.php" /><file hash="390cf75d04b1b098cad562229b649c2d" name="Notices.php" /><dir name="Adminhtml"><dir name="Cache"><file hash="798cf7afa80e0a06be2b8c6cb2bef02b" name="Grid.php" /></dir></dir><dir name="Catalog"><dir name="Product"><dir name="List"><file hash="ce9fca4c273987759f284fe31c1597f5" name="Toolbar.php" /></dir></dir></dir><dir name="Core"><file hash="f9b035bb701943aa12755abdb029fa8f" name="Messages.php" /></dir><dir name="Poll"><file hash="bf9ca23a445776435e38e6c8be9976ea" name="ActivePoll.php" /></dir></dir></dir></dir></target></contents><dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies><authors><author><name>Chris Wells</name><user>nexcess_net</user><email>clwells@nexcess.net</email></author><author><name>Alex Headley</name><user>aheadley_nex</user><email>aheadley@nexcess.net</email></author></authors><date>2015-08-04</date><compatibile /><channel>community</channel><description>Turpentine is a Magento extension to improve Magento's compatibility with Varnish, a very-fast caching reverse-proxy. By default, Varnish doesn't cache requests with cookies and Magento sends the frontend cookie with every request causing a (near) zero hit-rate for Varnish's cache. Turpentine provides Varnish configuration files (VCLs) to work with Magento and modifies Magento's behaviour to significantly improve the cache hit rate.</description></package>