DI: Migration from Exporter to Data Integration - boxalino/rtux-integration-magento2 GitHub Wiki
The migration from the Exporter plugin (exporter-magento2) to the the new GCP-based Data Integration service is done by converting your project data sources to Boxalino Data Structure.
The generic flow of the integration is described in our confluence page
Changes to the data in your API response
The difference in export between exporter-magento2 & data-integration-magento2 is at the level of property names: the product attributes are exported as they are.
This means the prefix products_
must be removed from your integration templates & return fields.
The migration can happen first on an environment with dev=true, test=false. This will update the dev data index and allow to make IA optimization changes for test=true (test configurations). The code changes can be pushed to prod once it is confirmed the data index is in the final stages of being replaced.
Migration steps
1. Add the repository to your project, configure & do a first full sync
This step will create the data index based on the new data structure. Instructions: https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/392396801/Magento+2#Setup-for-the-Data-Integration-Layer-%5BinlineCard%5D
1.2 Disable (from configurations) the boxalino/exporter-magento2 plugin
- Disable from configurationS https://github.com/boxalino/rtux-integration-magento2/blob/master/etc/di_config/doc_product.xml#L62
2. Update the other dependencies
Use the latest versions for boxalino/rtux-magento2 & boxalino/rtux-api-php
filters
property)
3. Update the API request default filters (remove "products_" -
Adjust (add if missing or update) the requested filter fields
getVisibilityFilter()
andgetActiveFilter()
as seen in the IntegrationContextTrait -
Update the filter fields in the autocomplete mixin (JS)
returnFields
property)
4. Update the API request returnFields (remove "products_" from Review your code for any getReturnFields()
function definitions (if you followed the integration guidelines, they are part of the Model\Api\Request\Context models
The returnFields for autocomplete/quick-search are configured in IA - search widget. You can edit them directly in IA or contact Boxalino for assistance :) (it`s a one-time update)
products_
from requested field names)
5. Update the template files (remove One of such template is the autocomplete template
Review your whole integration layer repository for any products_ prefixes in templates. Those must be removed.
6*. Remove the property provider prefix
Review your Model\Api\Context files and remove the line $this->filterablePropertyProvider->setPropertyPrefix("products_");
(example)
7. Remove boxalino/exporter-magento2 plugin
Remove both the plugin and any integration code in your di.xml / crontab.xml / indexer.xml / mview.xml (namespace: Boxalino\Exporter
)
Regular Data Synchronization
1. Do a full sync for user & order
This is required only once per migration. Future syncs for users & order happen via a delta.
2. Integrate the delta data syncs
https://github.com/boxalino/data-integration-magento2/wiki/Integration:-Delta
- 8.1 Product (every hour)
- 8.2 Order (once per day)
- 8.3 User (once per day)
3. Integrate the daily product full syncs (CLI cronjob)
https://github.com/boxalino/data-integration-magento2/wiki/Integration:-Full#3-declare-a-cli-command
If your integration decision at step #2 is MVIEW - make sure to integrate the DI full for MVIEW as well