slisearch - Version 2.0.4

Version Notes

Below the list of changes since the last version:
a) Store level ftp and attribute configuration.
b) CRON jobs can be disabled.
c) Support for linked products.
d) Feeds can be produced seqentially.
e) Feed origin information in the root element
and some bug fixes
f) Support for catalog price rule actions on sub-products

Download this release

Release Info

Developer SLI-Systems
Extension slisearch
Version 2.0.4
Comparing to
See all releases


Code changes from version 1.8.6 to 2.0.4

app/code/local/SLI/Search/Helper/Data.php CHANGED
@@ -214,14 +214,21 @@ class SLI_Search_Helper_Data extends Mage_Core_Helper_Abstract {
214
  * @return array
215
  */
216
  public function getAttributes() {
217
- $attrs = Mage::getStoreConfig(self::SECTION . self::ATTR_GROUP . "attributes");
218
- $default_attributes = Mage::getStoreConfig(self::SECTION . self::DEFAULT_ATTRS . "attributes");
 
219
  $defaults = array();
 
220
  foreach(explode(',',$default_attributes) as $attr) {
221
  if($attr && trim($attr) != '') $defaults[] = array('attribute'=>trim($attr));
222
  }
223
- $arr = array_merge_recursive($defaults, $attrs);
224
- return array_merge_recursive($defaults, $attrs);
 
 
 
 
 
225
  }
226
 
227
 
214
  * @return array
215
  */
216
  public function getAttributes() {
217
+ $attrs = Mage::getStoreConfig(self::SECTION . self::ATTR_GROUP . "attributes", Mage::app()->getStore()->getId());
218
+ $default_attributes = Mage::getStoreConfig(self::SECTION . self::DEFAULT_ATTRS . "attributes", Mage::app()->getStore()->getId());
219
+
220
  $defaults = array();
221
+
222
  foreach(explode(',',$default_attributes) as $attr) {
223
  if($attr && trim($attr) != '') $defaults[] = array('attribute'=>trim($attr));
224
  }
225
+
226
+ if($attrs){
227
+ return array_merge($defaults, $attrs);
228
+ }
229
+ else{
230
+ return $defaults;
231
+ }
232
  }
233
 
234
 
app/code/local/SLI/Search/Helper/Feed.php CHANGED
@@ -76,9 +76,24 @@ class SLI_Search_Helper_Feed {
76
  $feedUrl = $this->getGenerateFeedUrl();
77
  $urlParts = parse_url($feedUrl);
78
 
79
- $stores = Mage::getResourceModel('core/store_collection');
80
- foreach($stores as $store) {
81
- $this->postToGenerateFeed($store, $urlParts);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  }
83
  }
84
 
@@ -106,7 +121,7 @@ class SLI_Search_Helper_Feed {
106
  foreach ($directories as $dir) {
107
  $path .= DS . $dir;
108
  if (!is_dir($path)) {
109
- mkdir($path, 0777);
110
  }
111
  }
112
  return $path;
76
  $feedUrl = $this->getGenerateFeedUrl();
77
  $urlParts = parse_url($feedUrl);
78
 
79
+ try{
80
+ $stores = Mage::getResourceModel('core/store_collection');
81
+
82
+ // if(Mage::getStoreConfig('sli_search/feed/sequential')){
83
+ // foreach($stores as $store){
84
+ // $storeId = $store->getId();
85
+ // Mage::getModel('sli_search/feed')->setData('store_id', $storeId)->generateFeed();
86
+ // Mage::getModel('sli_search/feed')->setData('store_id', $storeId)->generateFeed(true);
87
+ // }
88
+ // }
89
+ // else{
90
+ foreach($stores as $store) {
91
+ $this->postToGenerateFeed($store, $urlParts);
92
+ }
93
+ // }
94
+ }
95
+ catch (Exception $e) {
96
+ Mage::logException($e);
97
  }
98
  }
99
 
121
  foreach ($directories as $dir) {
122
  $path .= DS . $dir;
123
  if (!is_dir($path)) {
124
+ @mkdir($path, 0777);
125
  }
126
  }
127
  return $path;
app/code/local/SLI/Search/Model/Cron.php CHANGED
@@ -21,18 +21,21 @@ class SLI_Search_Model_Cron {
21
  * Generates the feeds and sends email of status when done
22
  */
23
  public function generateFeeds() {
24
- try {
25
- Mage::helper('sli_search/feed')->generateFeedsForAllStores();
26
- $msg = "Feeds Generating";
27
- }
28
- catch (SLI_Search_Exception $e) {
29
- $msg = $e->getMessage();
30
- }
31
- catch (Exception $e) {
32
- $msg = "Unknown Error: {$e->getMessage()} in {$e->getFile()} on line {$e->getLine()}. Please contact your sli provider.";
33
- }
 
 
34
 
35
- $this->_sendEmail($msg);
 
36
  }
37
 
38
  /**
21
  * Generates the feeds and sends email of status when done
22
  */
23
  public function generateFeeds() {
24
+ if(!Mage::getStoreConfig('sli_search/cron/disabled'))
25
+ {
26
+ try {
27
+ Mage::helper('sli_search/feed')->generateFeedsForAllStores();
28
+ $msg = "Feeds Generating";
29
+ }
30
+ catch (SLI_Search_Exception $e) {
31
+ $msg = $e->getMessage();
32
+ }
33
+ catch (Exception $e) {
34
+ $msg = "Unknown Error: {$e->getMessage()} in {$e->getFile()} on line {$e->getLine()}. Please contact your sli provider.";
35
+ }
36
 
37
+ $this->_sendEmail($msg);
38
+ }
39
  }
40
 
41
  /**
app/code/local/SLI/Search/Model/Feed.php CHANGED
@@ -17,12 +17,12 @@
17
  * @subpackage Search
18
  */
19
  class SLI_Search_Model_Feed extends Mage_Core_Model_Abstract {
20
-
21
- protected $_ajaxNotice = "Currently generating feeds...";
22
  protected $_dbConnection = null;
23
-
24
  protected $_totalProductCount = null;
25
-
26
  /**
27
  * Generate feed based on store and returns success
28
  *
@@ -31,7 +31,7 @@ class SLI_Search_Model_Feed extends Mage_Core_Model_Abstract {
31
  public function generateFeed($price_feed = false) {
32
  try {
33
  if (!$price_feed) {
34
- echo PHP_EOL."If you had the full version of Learning Search Connect, this would have created a feed containing up to {$this->_getProductCount()} products. Please Contact SLI to receive the full version. Call us toll free in the US: (866) 240-2812 or send us an email to discovery@sli-systems.com ".PHP_EOL;
35
  }
36
  } catch (Exception $e) {
37
  Mage::log("Exception: {$e->getMessage()}");
@@ -72,7 +72,7 @@ class SLI_Search_Model_Feed extends Mage_Core_Model_Abstract {
72
  }
73
 
74
  public function getAjaxNotice() {
75
- $this->_ajaxNotice = "<p style='color:red'>If you had the full version of Learning Search Connect, this would have created a feed containing up to {$this->_getProductCount()} products.<br> Please Contact SLI to receive the full version. <br>Call us toll free in the US: (866) 240-2812 or send us an email to discovery@sli-systems.com </p>";
76
  return $this->_ajaxNotice;
77
  }
78
  }
17
  * @subpackage Search
18
  */
19
  class SLI_Search_Model_Feed extends Mage_Core_Model_Abstract {
20
+
21
+ protected $_ajaxNotice = "Currently generating feeds...";
22
  protected $_dbConnection = null;
23
+
24
  protected $_totalProductCount = null;
25
+
26
  /**
27
  * Generate feed based on store and returns success
28
  *
31
  public function generateFeed($price_feed = false) {
32
  try {
33
  if (!$price_feed) {
34
+ echo PHP_EOL."If you had the full version of Learning Search Connect, this would have created a feed containing up to {$this->_getProductCount()} products.".PHP_EOL."Please Contact SLI to receive the full version. Call us toll free in the US: (866) 240-2812 or send us an email to sales@sli-systems.com".PHP_EOL.PHP_EOL;
35
  }
36
  } catch (Exception $e) {
37
  Mage::log("Exception: {$e->getMessage()}");
72
  }
73
 
74
  public function getAjaxNotice() {
75
+ $this->_ajaxNotice = "<p style='color:red'>If you had the full version of Learning Search Connect, this would have created a feed containing up to {$this->_getProductCount()} products. Please Contact SLI to receive the full version. Call us toll free in the US: (866) 240-2812 or send us an email to sales@sli-systems.com</p>";
76
  return $this->_ajaxNotice;
77
  }
78
  }
app/code/local/SLI/Search/Model/System/Config/Source/Attributes.php CHANGED
@@ -35,13 +35,21 @@ class SLI_Search_Model_System_Config_Source_Attributes {
35
  'type_id',
36
  'max_price',
37
  'min_price',
38
- 'parent_ids' => 'parent_id',
 
 
 
39
  );
40
 
41
  /**
42
  * Prefix to use in the dropdown to differentiate the inventory attributes
43
  */
44
- const INVENTORY_ATTRIBUTES_PREFIX = 'inventory';
 
 
 
 
 
45
 
46
  /**
47
  * Attributes from the flat inventory table that we will use for the feed
@@ -114,7 +122,6 @@ class SLI_Search_Model_System_Config_Source_Attributes {
114
  // Sort the array to account for the non-eav attrs being added in
115
  asort($options);
116
 
117
- unset($options['price']); //remove price from multiselect since it will be included regardless
118
  return $options;
119
  }
120
  }
35
  'type_id',
36
  'max_price',
37
  'min_price',
38
+ 'parent_ids' => 'parent_id',
39
+ 'related_products' => 'linked_related',
40
+ 'upsell_products' => 'linked_upsell',
41
+ 'crosssell_products' => 'linked_crosssell'
42
  );
43
 
44
  /**
45
  * Prefix to use in the dropdown to differentiate the inventory attributes
46
  */
47
+ const LINKED_PRODUCTS_PREFIX = 'linked';
48
+
49
+ /**
50
+ * Prefix to use in the dropdown to differentiate the inventory attributes
51
+ */
52
+ const INVENTORY_ATTRIBUTES_PREFIX = 'inventory';
53
 
54
  /**
55
  * Attributes from the flat inventory table that we will use for the feed
122
  // Sort the array to account for the non-eav attrs being added in
123
  asort($options);
124
 
 
125
  return $options;
126
  }
127
  }
app/code/local/SLI/Search/doc/makeTar.txt CHANGED
@@ -7,3 +7,12 @@ app/design/adminhtml/default/default/template/sli/search/ \
7
  app/design/frontend/base/default/template/sli/search/ \
8
  app/design/frontend/base/default/layout/sli/search.xml \
9
  shell/sli/
 
 
 
 
 
 
 
 
 
7
  app/design/frontend/base/default/template/sli/search/ \
8
  app/design/frontend/base/default/layout/sli/search.xml \
9
  shell/sli/
10
+
11
+ tar -czvf \
12
+ slisearch2_0_4.tar.gz \
13
+ app/code/local/SLI/Search/ \
14
+ app/design/adminhtml/default/default/template/sli/search/ \
15
+ app/design/frontend/base/default/layout/sli/search.xml \
16
+ app/design/frontend/base/default/template/sli/search/ \
17
+ app/etc/modules/SLI_Search.xml \
18
+ shell/sli/
app/code/local/SLI/Search/dropdown.sql ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ SELECT `e`.`entity_id`
2
+ AS
3
+ `product_id`,
4
+ IF(at_name.value_id > 0, at_name.value, at_name_default.value)
5
+ AS `name`,
6
+ IF(at_url_path.value_id > 0, at_url_path.value,
7
+ at_url_path_default.value) AS
8
+ `url_path`,
9
+ IF(at_somethingspecial.value_id > 0, at_somethingspecial.value,
10
+ at_somethingspecial_default.value)
11
+ AS `somethingspecial`,
12
+ Group_concat(DISTINCT opt_somethingspecial.value SEPARATOR '|')
13
+ AS
14
+ `option_somethingspecial`
15
+ FROM `catalog_product_entity` AS `e`
16
+ INNER JOIN `catalog_product_entity_int` AS `at_status_default`
17
+ ON ( `at_status_default`.`entity_id` = `e`.`entity_id` )
18
+ AND ( `at_status_default`.`attribute_id` = '273' )
19
+ AND `at_status_default`.`store_id` = 0
20
+ LEFT JOIN `catalog_product_entity_int` AS `at_status`
21
+ ON ( `at_status`.`entity_id` = `e`.`entity_id` )
22
+ AND ( `at_status`.`attribute_id` = '273' )
23
+ AND ( `at_status`.`store_id` = 2 )
24
+ INNER JOIN `catalog_product_website` AS `product_website`
25
+ ON product_website.product_id = e.entity_id
26
+ AND product_website.website_id = '1'
27
+ LEFT JOIN `catalog_product_entity_varchar` AS `at_name_default`
28
+ ON ( `at_name_default`.`entity_id` = `e`.`entity_id` )
29
+ AND ( `at_name_default`.`attribute_id` = '96' )
30
+ AND `at_name_default`.`store_id` = 0
31
+ LEFT JOIN `catalog_product_entity_varchar` AS `at_name`
32
+ ON ( `at_name`.`entity_id` = `e`.`entity_id` )
33
+ AND ( `at_name`.`attribute_id` = '96' )
34
+ AND ( `at_name`.`store_id` = '2 OR `at_name`.`store_id` = 1' )
35
+ LEFT JOIN `catalog_product_entity_varchar` AS `at_url_path_default`
36
+ ON ( `at_url_path_default`.`entity_id` = `e`.`entity_id` )
37
+ AND ( `at_url_path_default`.`attribute_id` = '570' )
38
+ AND `at_url_path_default`.`store_id` = 0
39
+ LEFT JOIN `catalog_product_entity_varchar` AS `at_url_path`
40
+ ON ( `at_url_path`.`entity_id` = `e`.`entity_id` )
41
+ AND ( `at_url_path`.`attribute_id` = '570' )
42
+ AND ( `at_url_path`.`store_id` =
43
+ '2 OR `at_url_path`.`store_id` = 1' )
44
+ LEFT JOIN `catalog_product_entity_int` AS `at_somethingspecial_default`
45
+ ON ( `at_somethingspecial_default`.`entity_id` = `e`.`entity_id` )
46
+ AND ( `at_somethingspecial_default`.`attribute_id` = '1004' )
47
+ AND `at_somethingspecial_default`.`store_id` = 0
48
+ LEFT JOIN `catalog_product_entity_int` AS `at_somethingspecial`
49
+ ON ( `at_somethingspecial`.`entity_id` = `e`.`entity_id` )
50
+ AND ( `at_somethingspecial`.`attribute_id` = '1004' )
51
+ AND ( `at_somethingspecial`.`store_id` =
52
+ '1 OR `at_somethingspecial`.`store_id` = 1'
53
+ )
54
+ LEFT JOIN `eav_attribute_option_value` AS `opt_somethingspecial`
55
+ ON Concat(',', at_somethingspecial.value, ',') LIKE
56
+ Concat('%,', opt_somethingspecial.option_id, ',%')
57
+ WHERE ( IF(at_status.value_id > 0, at_status.value, at_status_default.value) =
58
+ '1' )
59
+ GROUP BY e.entity_id having e.entity_id = 168;
app/code/local/SLI/Search/etc/config.xml CHANGED
@@ -20,7 +20,7 @@
20
  <config>
21
  <modules>
22
  <SLI_Search>
23
- <version>1.8.6</version>
24
  </SLI_Search>
25
  </modules>
26
  <global>
@@ -51,24 +51,6 @@
51
  </setup>
52
  </sli_search_setup>
53
  </resources>
54
- <sli_search>
55
- <default_attributes>
56
- <sku/>
57
- <short_description/>
58
- <description/>
59
- <meta_description/>
60
- <price/>
61
- <special_price/>
62
- <special_from_date/>
63
- <special_to_date/>
64
- <news_to_date/>
65
- <news_from_date/>
66
- <image/>
67
- <small_image/>
68
- <product_id />
69
- <type_id />
70
- </default_attributes>
71
- </sli_search>
72
  </global>
73
  <frontend>
74
  <routers>
@@ -125,12 +107,13 @@ document.write(unescape('%3Cscript src=&quot;' + sliJsHost + slibaseurl + '/rac/
125
  <email></email>
126
  <frequency backend_model="adminhtml/system_config_backend_product_alert_cron">D</frequency>
127
  <time>2,00,00</time>
 
128
  </cron>
129
  <attributes>
130
  <attributes backend_model="sli_search/system_config_backend_minigrid" />
131
  </attributes>
132
  <default_attributes>
133
- <attributes>sku,short_description,description,meta_description,price,special_price,special_from_date,special_to_date,news_to_date,news_from_date,image,small_image,product_id,type_id</attributes>
134
  </default_attributes>
135
  </sli_search>
136
  </default>
20
  <config>
21
  <modules>
22
  <SLI_Search>
23
+ <version>2.0.4</version>
24
  </SLI_Search>
25
  </modules>
26
  <global>
51
  </setup>
52
  </sli_search_setup>
53
  </resources>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  </global>
55
  <frontend>
56
  <routers>
107
  <email></email>
108
  <frequency backend_model="adminhtml/system_config_backend_product_alert_cron">D</frequency>
109
  <time>2,00,00</time>
110
+ <disabled>0</disabled>
111
  </cron>
112
  <attributes>
113
  <attributes backend_model="sli_search/system_config_backend_minigrid" />
114
  </attributes>
115
  <default_attributes>
116
+ <attributes>name,url_path<!--sku,short_description,description,meta_description,price,special_price,special_from_date,special_to_date,news_to_date,news_from_date,image,small_image,product_id,type_id--></attributes>
117
  </default_attributes>
118
  </sli_search>
119
  </default>
app/code/local/SLI/Search/etc/system.xml CHANGED
@@ -127,6 +127,15 @@
127
  <show_in_website>1</show_in_website>
128
  <show_in_store>1</show_in_store>
129
  </categorystatus>
 
 
 
 
 
 
 
 
 
130
  <generate translate="label">
131
  <label>Generate Feed</label>
132
  <frontend_type>button</frontend_type>
@@ -254,8 +263,8 @@
254
  <frontend_type>text</frontend_type>
255
  <sort_order>1</sort_order>
256
  <show_in_default>1</show_in_default>
257
- <show_in_website>0</show_in_website>
258
- <show_in_store>0</show_in_store>
259
  </email>
260
  <frequency translate="label">
261
  <label>Frequency</label>
@@ -264,17 +273,26 @@
264
  <backend_model>sli_search/system_config_backend_cron</backend_model>
265
  <sort_order>100</sort_order>
266
  <show_in_default>1</show_in_default>
267
- <show_in_website>0</show_in_website>
268
- <show_in_store>0</show_in_store>
269
  </frequency>
270
  <time translate="label">
271
  <label>Start Time</label>
272
  <frontend_type>time</frontend_type>
273
  <sort_order>200</sort_order>
274
  <show_in_default>1</show_in_default>
275
- <show_in_website>0</show_in_website>
276
- <show_in_store>0</show_in_store>
277
  </time>
 
 
 
 
 
 
 
 
 
278
  </fields>
279
  </cron>
280
  <attributes translate="label" module="sli_search">
@@ -282,19 +300,19 @@
282
  <frontend_type>text</frontend_type>
283
  <sort_order>500</sort_order>
284
  <show_in_default>1</show_in_default>
285
- <show_in_website>0</show_in_website>
286
- <show_in_store>0</show_in_store>
287
  <fields>
288
  <attributes translate="label">
289
  <label>Attributes to include</label>
290
- <comment>The following attributes are automatically added to the feed: Name, Price, URL, Children Ids, and Categories.</comment>
291
  <frontend_type>minigrid</frontend_type>
292
  <source_model>sli_search/system_config_source_minigrid_attributes</source_model>
293
  <backend_model>sli_search/system_config_backend_minigrid</backend_model>
294
  <sort_order>1</sort_order>
295
  <show_in_default>1</show_in_default>
296
- <show_in_website>0</show_in_website>
297
- <show_in_store>0</show_in_store>
298
  </attributes>
299
  </fields>
300
  </attributes>
127
  <show_in_website>1</show_in_website>
128
  <show_in_store>1</show_in_store>
129
  </categorystatus>
130
+ <sequential translate="label">
131
+ <label>Generate Feeds Sequentially</label>
132
+ <frontend_type>select</frontend_type>
133
+ <source_model>adminhtml/system_config_source_yesno</source_model>
134
+ <sort_order>190</sort_order>
135
+ <show_in_default>1</show_in_default>
136
+ <show_in_website>0</show_in_website>
137
+ <show_in_store>0</show_in_store>
138
+ </sequential>
139
  <generate translate="label">
140
  <label>Generate Feed</label>
141
  <frontend_type>button</frontend_type>
263
  <frontend_type>text</frontend_type>
264
  <sort_order>1</sort_order>
265
  <show_in_default>1</show_in_default>
266
+ <show_in_website>1</show_in_website>
267
+ <show_in_store>1</show_in_store>
268
  </email>
269
  <frequency translate="label">
270
  <label>Frequency</label>
273
  <backend_model>sli_search/system_config_backend_cron</backend_model>
274
  <sort_order>100</sort_order>
275
  <show_in_default>1</show_in_default>
276
+ <show_in_website>1</show_in_website>
277
+ <show_in_store>1</show_in_store>
278
  </frequency>
279
  <time translate="label">
280
  <label>Start Time</label>
281
  <frontend_type>time</frontend_type>
282
  <sort_order>200</sort_order>
283
  <show_in_default>1</show_in_default>
284
+ <show_in_website>1</show_in_website>
285
+ <show_in_store>1</show_in_store>
286
  </time>
287
+ <disabled translate="label">
288
+ <label>Disabled</label>
289
+ <frontend_type>select</frontend_type>
290
+ <source_model>adminhtml/system_config_source_yesno</source_model>
291
+ <sort_order>300</sort_order>
292
+ <show_in_default>1</show_in_default>
293
+ <show_in_website>1</show_in_website>
294
+ <show_in_store>1</show_in_store>
295
+ </disabled>
296
  </fields>
297
  </cron>
298
  <attributes translate="label" module="sli_search">
300
  <frontend_type>text</frontend_type>
301
  <sort_order>500</sort_order>
302
  <show_in_default>1</show_in_default>
303
+ <show_in_website>1</show_in_website>
304
+ <show_in_store>1</show_in_store>
305
  <fields>
306
  <attributes translate="label">
307
  <label>Attributes to include</label>
308
+ <comment>The following attributes are automatically added to the feed: Name, URL, Children Ids, and Categories.</comment>
309
  <frontend_type>minigrid</frontend_type>
310
  <source_model>sli_search/system_config_source_minigrid_attributes</source_model>
311
  <backend_model>sli_search/system_config_backend_minigrid</backend_model>
312
  <sort_order>1</sort_order>
313
  <show_in_default>1</show_in_default>
314
+ <show_in_website>1</show_in_website>
315
+ <show_in_store>1</show_in_store>
316
  </attributes>
317
  </fields>
318
  </attributes>
app/code/local/SLI/Search/sql/sli_search_setup/install-1.0.0.php CHANGED
@@ -23,7 +23,7 @@ function cmp($attr1, $attr2) {
23
  }
24
 
25
  //Save out the default attributes to the core config data table
26
- $defaultAttributes = Mage::getConfig()->getNode('global/sli_search/default_attributes')->asArray();
27
 
28
  $productEntityType = Mage::getModel('eav/entity_type')->loadByCode('catalog_product');
29
  $attributeCollection = Mage::getResourceModel('eav/entity_attribute_collection')->setEntityTypeFilter($productEntityType->getId());
23
  }
24
 
25
  //Save out the default attributes to the core config data table
26
+ $defaultAttributes = Mage::getConfig()->getNode('default/sli_search/default_attributes')->asArray();
27
 
28
  $productEntityType = Mage::getModel('eav/entity_type')->loadByCode('catalog_product');
29
  $attributeCollection = Mage::getResourceModel('eav/entity_attribute_collection')->setEntityTypeFilter($productEntityType->getId());
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>slisearch</name>
4
- <version>1.8.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://sli-systems.com/lsc">SLI Feed Generation</license>
7
  <channel>community</channel>
@@ -122,11 +122,18 @@ Learning Search Connect has the following capabilities&#xD;
122
  &lt;p&gt;Please be aware that the extension provided here is reduced in functionality. This extension will allow you to replace the Magento Built in Catalog Search with Search hosted by SLI. It will expose the Magento site template URL. However feed creation is limited to determining the number of products that would be in the feed if the full version was used. Please contact us for the full version of LSC.&lt;/p&gt;&#xD;
123
  &lt;/div&gt;&#xD;
124
  &lt;/div&gt;</description>
125
- <notes>first release for Magento Connect</notes>
 
 
 
 
 
 
 
126
  <authors><author><name>SLI-Systems</name><user>SLISystems</user><email>support@sli-systems.com</email></author></authors>
127
- <date>2013-04-05</date>
128
- <time>01:11:45</time>
129
- <contents><target name="magelocal"><dir name="SLI"><dir name="Search"><dir name="Block"><dir name="Search"><dir name="Form"><file name="Mini.php" hash="7abb2d4708fae5018a214c3c04c626bf"/></dir><dir name="Js"><file name="Bottom.php" hash="702dd219952b047ba47c4931f3e12344"/><file name="Top.php" hash="be80119d48facedc599fadb7f15738a7"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><dir name="Minigrid"><file name="Js.php" hash="1a9a5a3c880c11f6e99ba53956ec7101"/></dir><file name="Minigrid.php" hash="3f0810444f875bf8502ef79742a314e4"/><file name="Version.php" hash="72bcde22f1eaa0e2f8fafd3e00d717e4"/></dir></dir><file name="Form.php" hash="4a1551d259ef3510cb803cb02a026083"/><dir name="Frontend"><dir name="Feed"><dir name="Generate"><file name="Js.php" hash="3ba76026119adb36aed4d1d052eb464c"/></dir><file name="Generate.php" hash="3ad8446e6650c5d3562574f294b4bcef"/><file name="Next.php" hash="008c3d9351c50712ea4d2b76531e0bb4"/></dir></dir></dir></dir><dir name="Widget"><dir name="Minigrid"><file name="Form.php" hash="014ef14b01cbafc9cd305e9a1caf82ae"/></dir></dir></dir><file name="Exception.php" hash="6a8fc0cab1826df68df2e447d2152e58"/><dir name="Helper"><file name="Data.php" hash="75bb23d837ca9d31ff8a73df9b2d72a1"/><file name="Feed.php" hash="35e3ad19541c3126d89e0060fbc02a10"/></dir><dir name="Model"><file name="Cron.php" hash="6ad84c367fed231a29cb255b8d9b7a4c"/><file name="Email.php" hash="701049238dca1a452e67d7bcc0d77f00"/><file name="Feed.php" hash="0f4e8087b212101d8316c3220a8ecb49"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="320f7eb3a1be3e309b2ded0bfe0b7c5e"/><file name="Loglevel.php" hash="31b58bfdf479b9de2380f3d741bd3175"/><file name="Minigrid.php" hash="a899cfbc25c573846b735e1170970c99"/></dir><dir name="Source"><file name="Attributes.php" hash="41beacfb8b3da59bf32f635377d57e0c"/><dir name="Minigrid"><file name="Abstract.php" hash="3f65ae2dd959bb8583cfcffb0109cffa"/><file name="Attributes.php" hash="7a97225139a38a4a0576538293980187"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="SearchController.php" hash="44422b8daf76199590dd0d7cbfb4a76c"/></dir><dir name="doc"><file name="changelog.txt" hash="93ac6e72c6dbfb91e3ee2f2c2701d865"/><file name="design.txt" hash="ff939b286de699aed45c6d6ad103cd5c"/><file name="makeTar.txt" hash="b444856b2a42685832bd37715bb4bac1"/></dir><dir name="etc"><file name="adminhtml.xml" hash="868b799465f118e2212bcff9048994bb"/><file name="config.xml" hash="f08fa08bcaff2f2c033b52d2898f826d"/><file name="system.xml" hash="bae33054840aa6302b11fb458981a4f4"/></dir><dir name="sql"><dir name="sli_search_setup"><file name="install-1.0.0.php" hash="fd2393d9d3c3e104f0ab09a1e626dace"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="sli"><dir name="search"><dir name="sysconfig"><dir name="generate"><file name="js.phtml" hash=""/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="SLI_Search.xml" hash=""/></dir></target><target name="mage"><dir name="shell"><dir name="sli"><file name="feed.php" hash=""/></dir></dir></target></contents>
130
  <compatible/>
131
  <dependencies><required><php><min>5.3.19</min><max>5.5.0</max></php></required></dependencies>
132
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>slisearch</name>
4
+ <version>2.0.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://sli-systems.com/lsc">SLI Feed Generation</license>
7
  <channel>community</channel>
122
  &lt;p&gt;Please be aware that the extension provided here is reduced in functionality. This extension will allow you to replace the Magento Built in Catalog Search with Search hosted by SLI. It will expose the Magento site template URL. However feed creation is limited to determining the number of products that would be in the feed if the full version was used. Please contact us for the full version of LSC.&lt;/p&gt;&#xD;
123
  &lt;/div&gt;&#xD;
124
  &lt;/div&gt;</description>
125
+ <notes>Below the list of changes since the last version:&#xD;
126
+ a) Store level ftp and attribute configuration.&#xD;
127
+ b) CRON jobs can be disabled.&#xD;
128
+ c) Support for linked products.&#xD;
129
+ d) Feeds can be produced seqentially.&#xD;
130
+ e) Feed origin information in the root element&#xD;
131
+ and some bug fixes&#xD;
132
+ f) Support for catalog price rule actions on sub-products</notes>
133
  <authors><author><name>SLI-Systems</name><user>SLISystems</user><email>support@sli-systems.com</email></author></authors>
134
+ <date>2013-09-26</date>
135
+ <time>22:42:10</time>
136
+ <contents><target name="magelocal"><dir name="SLI"><dir name="Search"><dir name="Block"><dir name="Search"><dir name="Form"><file name="Mini.php" hash="7abb2d4708fae5018a214c3c04c626bf"/></dir><dir name="Js"><file name="Bottom.php" hash="702dd219952b047ba47c4931f3e12344"/><file name="Top.php" hash="be80119d48facedc599fadb7f15738a7"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><dir name="Minigrid"><file name="Js.php" hash="1a9a5a3c880c11f6e99ba53956ec7101"/></dir><file name="Minigrid.php" hash="3f0810444f875bf8502ef79742a314e4"/><file name="Version.php" hash="72bcde22f1eaa0e2f8fafd3e00d717e4"/></dir></dir><file name="Form.php" hash="4a1551d259ef3510cb803cb02a026083"/><dir name="Frontend"><dir name="Feed"><dir name="Generate"><file name="Js.php" hash="3ba76026119adb36aed4d1d052eb464c"/></dir><file name="Generate.php" hash="3ad8446e6650c5d3562574f294b4bcef"/><file name="Next.php" hash="008c3d9351c50712ea4d2b76531e0bb4"/></dir></dir></dir></dir><dir name="Widget"><dir name="Minigrid"><file name="Form.php" hash="014ef14b01cbafc9cd305e9a1caf82ae"/></dir></dir></dir><file name="Exception.php" hash="6a8fc0cab1826df68df2e447d2152e58"/><dir name="Helper"><file name="Data.php" hash="cc1ba30e326624ba85d3d7b89d480afc"/><file name="Feed.php" hash="82e81303da41497a59c974d25f7d3bb8"/></dir><dir name="Model"><file name="Cron.php" hash="77ade7fc8aaeb1be0dc326ad2b0a884f"/><file name="Email.php" hash="701049238dca1a452e67d7bcc0d77f00"/><file name="Feed.php" hash="8d99140347d164e59e3258cd44ddf846"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="320f7eb3a1be3e309b2ded0bfe0b7c5e"/><file name="Loglevel.php" hash="31b58bfdf479b9de2380f3d741bd3175"/><file name="Minigrid.php" hash="a899cfbc25c573846b735e1170970c99"/></dir><dir name="Source"><file name="Attributes.php" hash="3c6081453f2e499952907412b79b6250"/><dir name="Minigrid"><file name="Abstract.php" hash="3f65ae2dd959bb8583cfcffb0109cffa"/><file name="Attributes.php" hash="7a97225139a38a4a0576538293980187"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="SearchController.php" hash="44422b8daf76199590dd0d7cbfb4a76c"/></dir><dir name="doc"><file name="changelog.txt" hash="93ac6e72c6dbfb91e3ee2f2c2701d865"/><file name="design.txt" hash="ff939b286de699aed45c6d6ad103cd5c"/><file name="makeTar.txt" hash="ef75554f12dde147891fea285a7f6bc0"/></dir><file name="dropdown.sql" hash="dc15502900071cb30caa144ddeb21a0d"/><dir name="etc"><file name="adminhtml.xml" hash="868b799465f118e2212bcff9048994bb"/><file name="config.xml" hash="952995b4744bdf90c75de60ffb147b4b"/><file name="system.xml" hash="f935a8076a8382d5d1b99e9f505d6987"/></dir><dir name="sql"><dir name="sli_search_setup"><file name="install-1.0.0.php" hash="8b5dd72380e039eb124b804657086f77"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="sli"><dir name="search"><dir name="sysconfig"><dir name="generate"><file name="js.phtml" hash=""/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="SLI_Search.xml" hash=""/></dir></target><target name="mage"><dir name="shell"><dir name="sli"><file name="feed.php" hash=""/></dir></dir></target></contents>
137
  <compatible/>
138
  <dependencies><required><php><min>5.3.19</min><max>5.5.0</max></php></required></dependencies>
139
  </package>