You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+40-1Lines changed: 40 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,44 @@ All notable changes to this project will be documented in this file.
4
4
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
5
5
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
7
+
## [1.11.0] - 2019.12.20
8
+
9
+
### Fixed
10
+
11
+
- Fixed some smaller issues with graphql so that it is now working again with the fronted - #350
12
+
- Replaced the old `crop` function call which has been removed from Sharp image processor - @grimasod (#381)
13
+
14
+
15
+
## [1.11.0-rc.1] - 2019.10.03
16
+
17
+
### Added
18
+
- Experimental Elastic 7 support - @pkarw (#342)
19
+
- Output cache support with tagging and cache invalidate requests forwarding - @pkarw@resubaka (https://github.com/DivanteLtd/vue-storefront/issues/3367, #333)
20
+
- Constant for Mailchimp subscription status - @KonstantinSoelch (#294)
21
+
- mage2vs import now has optional `--generate-unique-url-keys` parameter which defaults to `false` to enable/disable the url key generation with name and id for categories - @rain2o (#232)
22
+
-`extensions/elastic-stock` module added which is a drop-in replacement for `stock`; the difference is that it's getting the stock information from Elastic, not from e-Commerce backend directly; to use it - please just make sure your `config/local.json` file has `elastic-stock` in the `registeredExtensions` collection; then please make sure in the `vue-storefront` to change the `config.stock.ednpoint` from `http://<your-api-host>/api/stock` to `http://<your-api-host>/api/ext/elastic-stock`
23
+
- Added eslint config from vue-storefront so we have the same config and in both repos typescript support - @resubaka (#320)
24
+
- Added jest support - @resubaka (#321)
25
+
- Added caching factory and action factory for the image endpoint. This gives the possibility to use other services for caching or image processing - @resubaka (#317, #315)
26
+
- Added support for tax calculation where the values from customer_tax_class_ids is used - @resubaka (#307)
27
+
- The `db` context object - passed to every api endpoint now has two usefull methods: `getElasticClient` and `getRedisClient` for accesing the data stores - @pkarw (#328)
28
+
- The `lib/utils` got two new methods `getStoreCode(req: Express.Request)` and `getStoreView(code: string)` for getting the current multistore context from `vue-storefront` frontend requests - @pkarw
29
+
30
+
### Removed
31
+
- The `scripts/seo.js` tool has been removed, the legacy `migrations` scripts have been removed, the unused legacy extensions (`gls-parcelshop-dk`, `postnord-parcelshop-dk`) - @pkarw (#342)
32
+
33
+
### Fixed
34
+
- The way Elastic and Redis clients have been fixed and code duplication removed across the app - @pkarw (#327)
35
+
- The `product.price_*` fields have been normalized with the backward compatibility support (see `config.tax.deprecatedPriceFieldsSupport` which is by default true) - @pkarw (#289)
36
+
- The `product.final_price` field is now being taken into product price calcualtion. Moreover, we've added the `config.tax.finalPriceIncludesTax` - which is set to `true` by default. All the `price`, `original_price` and `special_price` fields are calculated accordingly. It was required as Magento2 uses `final_price` to set the catalog pricing rules after-prices - @pkarw (#289)
37
+
- Force ES connections to use protocol config option - @cewald (#303, #304)
38
+
- Better handling of HTTP error codes provided by API client - #3151
39
+
40
+
### Changed
41
+
- Error responses for mailchimp - @andrzejewsky (#3337)
42
+
- Replaced function arguments to object destructuring in `calculateProductTax` - @andrzejewsky (#3337)
43
+
- Refactor `taxcalc.js` similar to frontend - @gibkigonzo (#356)
44
+
7
45
## [1.10.0] - 2019.08.12
8
46
9
47
### Added
@@ -16,6 +54,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
16
54
- Extensions have ability to modify Elasticsearch results. - @grimasod (#269)
Copy file name to clipboardExpand all lines: README.md
+85Lines changed: 85 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,6 +65,68 @@ A [Kibana](https://www.elastic.co/products/kibana) service is available to explo
65
65
66
66
At first access it will ask to specify an index pattern, insert `vue_storefront*`
67
67
68
+
**Note:** Kibana is not provided with the Elastic 7 docker file. Please install it on your own when needed or check the [`es-head`](https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm) Chrome plugin.
69
+
70
+
## Elastic 7 support
71
+
72
+
By default, Vue Storefront API docker files and config are based on Elastic 5.6. We plan to change the default Elastic version to 7 with the 1.11 stable release. As for now, the [Elastic 7 support](https://github.com/DivanteLtd/vue-storefront-api/pull/342) is marked as **experimental**.
73
+
74
+
**How to use it?**
75
+
76
+
In order to use the new Elastic 7 please make sure your `vue-storefront-api` has been checked out from the [PR#342](https://github.com/DivanteLtd/vue-storefront-api/pull/342) branch.
77
+
To start the Elastic 7 docker service please use the `docker-compose.elastic7.yml` file provided:
78
+
79
+
```bash
80
+
docker-compose -f docker-compose.elastic7.yml up
81
+
```
82
+
83
+
Then, please do change the `config/local.json` to start using the new Elastic API. Key properties in the `elasticsearch` section are: `indexTypes` and `apiVersion` (to be set to 7.1). If you're using the multistore configuration please make sure you adjusted the `storeViews.*.elasticsearch` section as well - per each separate store.
84
+
85
+
```json
86
+
"elasticsearch": {
87
+
"host": "localhost",
88
+
"port": 9200,
89
+
"protocol": "http",
90
+
"min_score": 0.01,
91
+
"indices": [
92
+
"vue_storefront_catalog",
93
+
"vue_storefront_catalog_de",
94
+
"vue_storefront_catalog_it"
95
+
],
96
+
"indexTypes": [
97
+
"product",
98
+
"category",
99
+
"cms_block",
100
+
"cms_page",
101
+
"attribute",
102
+
"taxrule",
103
+
"review"
104
+
],
105
+
"apiVersion": "7.1"
106
+
}
107
+
```
108
+
109
+
Starting from [Elasitc 6 and 7](https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-7.0.html) we can have **just single** document type per single index. Vue Storefront used to have `product`, `category` ... types defined in the `vue_storefront_catalog`.
110
+
111
+
From now on, we're using the separate indexes per each entity type. The convention is: `${indexName}_${entityType}`. If your' **logical index name** is `vue_storefront_catalog` then it will be mapped to the **physical indexes** of: `vue_storefront_catalog_product`, `vue_storefront_catalog_category` ...
112
+
113
+
To take the advantage of this new logical->physical index distinction we've provided new Elastic tools: `db7`, `migrate7`, `dump7`, `restore7` tools. They can be used exactly the same way [like the old tools](https://docs.vuestorefront.io/guide/data/database-tool.html) were. The only distinction is that they work on separate indexes.
114
+
115
+
**Create new index**
116
+
117
+
Before restoreing or importing data you might want to create a new Elastic index with the proper data types/schema applied. You can run just the `yarn db7 new` command in order to do that.
118
+
119
+
**Restore the data**
120
+
121
+
After you ran the docker file and have Elastic7 up and running you might want to:
122
+
123
+
a) restore the demo data by running `yarn restore7` and `yarn restore7_it; yarn restore7_de` for default multistores. The data is restored from `var/catalog_product.json`, `var/catalog_category.json` and so on...
124
+
125
+
b) import the data from Magento to proper physical indexes. To do so, currently you can do this only with [mage2vuestorefront](https://github.com/DivanteLtd/mage2vuestorefront/pull/96).
126
+
127
+
**Note:** After 1.11 stable release (around November, 2019) we'll **replace** the standard tools: `db`, `migrate`, `dump`, `restore` with the Elastic 7 equivalents and it will become the default.
128
+
129
+
68
130
## API access
69
131
Catalog API calls are compliant with ElasticSearch (it works like a filtering proxy to ES). More on ES queries: [ElasticSearch queries tutorial](http://okfnlabs.org/blog/2013/07/01/elasticsearch-query-tutorial.html)
70
132
@@ -94,6 +156,24 @@ NOTE: `npm` users will still have to install the dependencies individually in th
94
156
95
157
## Reviews
96
158
To use review feature you need to install custom module for Magento 2: [Divante ReviewApi](https://github.com/DivanteLtd/magento2-review-api)
159
+
By default new reviews will be added with status "Pending".
160
+
```json
161
+
"review": {
162
+
"defaultReviewStatus": 2
163
+
},
164
+
```
165
+
166
+
## Output Cache
167
+
Vue Storefront API supports output cache for catalog operations. Cache is tagged and can by dynamically invalidated. Please find the details how to configure it [in our docs](https://docs.vuestorefront.io/guide/basics/ssr-cache.html).
168
+
169
+
You can manually clear the Redis cache for specific tags by running the following command:
170
+
171
+
```bash
172
+
npm run cache clear
173
+
npm run cache clear -- --tag=product,category
174
+
npm run cache clear -- --tag=P198
175
+
npm run cache clear -- --tag=*
176
+
```
97
177
98
178
## Running initial Magento2 import
99
179
@@ -141,6 +221,11 @@ You can use the following command to run a delta indexer for a specific storevie
141
221
yarn mage2vs productsdelta --store-code=de
142
222
```
143
223
224
+
## Self signed certificates
225
+
226
+
Often in non production environment other services are using self signed certificates for secure connection.
227
+
You can easily setup the application to trust them by putting them in config/certs directory.
0 commit comments