Not sure where to put this but I’ll try it here. I’ve been working with OroCRM (rc-1) and the OroCRM bridge (1.0.1) for a few days now and I’ve found some, bugs or an interesting implementation for synchronizing with Magento. This applies to filters being send and the batches from Oro(CRM).
First of all, I’ve created a channel for orders(in orocrm) and installed the OroCRM bridge (v1.0.1) on Magento’s side.
The version of OroCRM is RC-1.0.0 and the Magento version is 220.127.116.11 so fairly recent on both sides.
What we wanted to do was to synchronize the Orders from Magento to OroCRM for a specific store. The total orders are approximately 104,330 (for all stores). The store which we would like to sync has 41,911 orders. When start the sync OroCRM will iterate over all (104,330) orders instead of the expected 41,911 orders.
Looking through the code it will send the storeview as a filter to Magento (and is received correct by Magento) but still creates batches for all of the Orders, my question is why is it iterating over all of the orders instead of the 41,911?
The filters which are being applied in Oro as well as in Magento are the storeview filter and the created_at[from] filter. They seem to do the job very well, except that I’ve expected a different working of the created_at filter. Since Oro is sending the filters I’m finding it strange that the created_at filter is always the “sync date” from the Oro channel. Looking through the code, there is no point in where this filter is changed. I know it’s possible in theory that orders can change at any given point in time (even if they are really old), but what I don’t understand is that there is no change in the filters. For example using the updated_at instead of the created_at.
For a first run, using the created_at is logical and absolutely fine, but for runs (each day) on a Magento shop which already has 100,000 orders, seems like it will take to much time (since as I explained some paragraphs earlier it will iterate over all orders instead of all orders for the specific store). Could someone please explain how this should be interpreted in the form of:
A. Do you need to import all orders from the beginning of time (using the earliest date in Magento shop as sync date for your channel)
B. When the complete import is done, do we need to change the sync date in the channel?
I cannot figure out the logic, from business and programming view why the implementation of the filters is done this way.
Thanks in advance!
You must be logged in to reply to this topic.