2.9.33 -
Release a new Marketing module
Corrected composer.json file for a new Marketing module
2.9.32 -
Lead Owner does not inherit for Contact after converting
Fixed issue with inheriting Owner from Lead to Contact after converting
2.9.31 -
Contact Owner is Default Account Owner for Bulk sync
Fixed Contact Owner synchonization from Sales Rep dropdawn in Bulk mode
2.9.30 -
Contact Owner is Default Account Owner
Fixed Contact Owner synchonization from Sales Rep dropdawn
2.9.29 -
Send message (RabbitMQ) to sync objects from prequeue after enabling synchronization
Added plugin to publish tnw_salesforce.prequeue.process if module was disabled and enabled with MQ mode as RabbitMQ
2.10.28 -
Custom date field values on Product become a day earlier on sync SF-> M2
Fixed issue with date field values on Products synchronization
2.10.27 -
Account lookup logic
Implemented new Account lookup logic (Create new Account and Contact for customers with the same First and Last name and different emails)
2.9.26 -
Creating new logic for dependency for M-SF sync Phase 2
Created new logic for dependency
2.9.25 -
Creating new logic for dependency for M-SF sync
New logic for dependency for M-SF sync created
2.9.24 -
Account lookup logic
Implemented new Account lookup logic (Create new Account and Contact for customers with the same First and Last name and different emails)
2.9.23 -
Custom customer attributes not syncing
Fixed issue wirh custom customer attributes synchronization
2.9.22 -
Orders are not being synced
Fixed issue related to the "Lookup" logic:
if "multicurrency" feature enabled - the SQL query Lookup was incorrect and loads PricebookEntries for all products.
If Person account feature enabled - the SQL query Lookup was incorrect and loads BusinessAccount LookuoByName for all customers.
2.9.21 -
The default owner is assigned for account/contact in SF even if Sels rep was changed for customer
Fixed isssue with Sels rep sinchronization after changing on Edit Customer page
Customer Sales Rap does not apply for order placed from Frontend
Fixed issue when Customer Sales Rap does not apply for order placed from Frontend
2.9.20 -
Modules performance improvement:
fixed collection grouping
optimized selection
OrderItem sync: skip pricebook condition
QuoteItem(AbandonedCartItem) sync: skip pricebook condition
B2BQuoteItem sync: skip pricebook condition
Implemented new option "Skip PricebokEntry sync". The related Product wouldn't be added to the sync Queue if they are already synced
Resync Frozen doesnt work with Realtime
Resync Frozen queue option values changed to minutes
Correct Queue datatime filters
Corrected Queue datetime. Server date is saved in database
Check memory usage for consumers
Implemented new option "Memory limit for consumer". This option restart consumer when it exceeds memory limit
2.9.19 -
duplicate value found: tnw_mage_basic__Website_ID__c error when edit website
Fixed error duplicate value found: tnw_mage_basic__Website_ID__c when edit Website
2.9.18 -
Extra record are added to queue when sync website
Fixed issue with Extra record added to queue when Edit website
2.9.16 -
Refactoring: spl_object_id to spl_object_hash
Changed spl_object_id function to the spl_object_hash
2.9.15 -
Incorrect product displayed in Opportunity Related tab if the order was synced with deleted product
Fixed issue with incorrect product in Opportunity Related tab if the order was synced with deleted product
2.9.14 -
Performance: memory leak
Fixed memory wasting by consumers
2.9.13 -
Error in the queue when customer synchronization if 'Default owner' field is empty
Fixed issue when sync customer and 'Default owner' field is empty. Owner will be taken from 'SF login user
2.9.12 -
"Before creating a custom price, create a standard price." error appears when create product
Issue fixed . Corrected dependency logic
2.9.11 -
Fixed deadlock issue for Magento CE
Fixed tier price sync issue for Magento CE
Implemented new features: Sync of product Scheduled Updates.
implemented new features Automatical restart consumers when Store config (any) updated, Magento website updated, Some mapping updated, Scheduled product updates (id unabled)
2.9.10 -
Cabinets module optimization
Fixed sync issue for projects with deleted products in database
2.9.8 -
Release performance, part 3:
Optimize newsletter subscriber load
Group parent queues and preload
Optimize method \TNW\Salesforce\Model\Queue::dependenceByCode
Optimize load from negotiable repository
OptimizeTNW_B2BAddressBookSalesforce module
Optimize columns selects on collection method
Preload Billing and Shipping addresses for orders and order customers
Preload order items
Optimize negotiable quote cart repository load
Optimize load company from cache in TNW_B2BSforce plugin
Optimize Order activate LoadByOrderStatus
Issues Fixed:
Customer EAV sub-entity does not sync
Fixed Issue when Customer EAV sub-entity does not sync after creating more that 60 custom attributes and mappings for them
MariaDB has the same maximum number of 61 tables in a join as Mysq
Fixed issue with SQL: "Too many tables; MariaDB can only use 61 tables in a join, query"
REQUEST_LIMIT_EXCEEDED: TotalRequests Limit exceeded. issues
Corrected error messages, added link to Wiki page about this issue
Some records stuck in Salesforce Update Preparation status - issue fixed
2.9.7 -
Undefined index - error during the Opportunity sync
Fixed issue : Undefined index - error during the Opportunity sync
2.9.6 -
MALFORMED_QUERY: OR tnw_mage_basic__Magento_ID__c ^ ERROR at Row:1:Column:807 expecting a right parentheses, found 'OR'
Fixed issue when sync order after deleting customer
2.9.5 -
Call to a member function isStatic
Fixed issue with mapping "fake" or non-existing attributes. Call to a member function isStatic
2.9.4 -
OpportunityItemCleanup and TierPriceCleanup stuck in the Queue - Issue fixed
2.9.3 -
Release performance, part 2:
ProcessQueue Consumer. Entity loader
Prequeue Consumer. Optimize selects which run queue creates
Incorrect dependency for Non standard Price book entry
Prequeue Consumer . Optimize selects which run queue creates
Consumers . Implement clean local cache to classes
Prequeue Consumer . Optimize queue create calls.
Hide columns when the sync is disabled
ProcessQueue Consumer. Load customer attributes (For 2000 customers - 4000 times)
ProcessQueue Consumer. Customer address entity select (For 2000 customer - 2000 times)
Error Fetching http headers. Incorrect SQL request on Lookup
Sub-select on Grid pages
2.9.2 -
(Customization) Сhange Opportunity Name
A new field added to the mapping page: "Format value"
2.9.1 -
Synchronization does not work on Starter module version
FIxed Issue with consumers on Starter module version
2.9.0 -
Huge performance update:
Accelerating the \TNW\Salesforce\Model\ResourceModel\Objects::loadObjectIds Method
PreQueue Consumer. Optimize buildDependency method
ProcessQueue Consumer. Reducing the number of requests to the database when processing the queue tree
Prequeue Consumer . Optimize skip rules for all object types.
ProcessQueue Consumer. Append cache to method (for 2000 customer sync called 4000 times)
ProcessQueue Consumer. Mapping step working very slow.
ProcessQueue Consumer. Create multiple save queues.
'Disable sync' option doesn't' work on the product page in Admin Panel - issue fixed
Pricebook entry sync error Required fields are missing: [Product2Id], fields [Product2Id] - issue fixed
Serialization failure: 1213 Deadlock found when trying to get lock when Sycn Orders (qty 5400)) - issue fixed
Opportunity sync error Required fields are missing: [Name, CloseDate], fields [Name, CloseDate] - issue fixed
2.7.135 -
[Improvements] Cleanup command removes only a few records from the Queue
Improved Cleanup command. Added new options:
Items count we delete in the Queue in a batch
Algorithm to get cleanup candidates (Multy Query, Left Join Query )
2.7.134 -
Implement the consumers restart logic
Implemented the consumers restart logic. Added a new "Restart consumers" button to the "General" config page
2.7.133 -
Check module re-install process.
Improved uninstall script. Added our tables/columns delete logic
2.7.132 -
Orders not getting put in queue.
Fixed issue when Orders was not added to the Queue correctly until any of the Customers (or their Orders, Invoices, etc) without a Website are present in Prequeue
2.7.131 -
Update file copyrights/strict_types
Added the strict_types declaration to all files
2.7.130 -
Forbid the B2BQuote sync if the latest version is present
Removed 'Create Opportunity Items for the status' logic. Improved B2BQuote synchronization - Forbid the B2BQuote sync if the latest version is present
2.7.129 -
AbandonedCartItem sync issue
Fixed issue when re-sync records related to removed entities
2.7.128 -
memory performance
Fixed OOM issue caused by syncing huge products count
2.7.127 -
Account duplicates
Fixed issue when Account could be duplicated using Bulk sync mode
2.7.126 -
Error during the Account sync
Fixed issue "Account ID: id value of incorrect type"
2.7.125 -
DateTime sync
Fixed issue with date/dateTime fields type synchronization. If Time ones in Magento and SF Org user are the same date/dateTime is identical
2.7.124 -
Check the module:disable and module:enable cases for all our modules.
Fixed issue when mapping disappears after disabling modules
2.7.123 -
Product prices in Magento and SF do not match in some cases
New mappings options are added for the following entities:
OrderItem
OpportunityItem
B2BOpportunityItem
B2BQuoteItem
Abandoned Cart Item
2.7.122 -
Inherit AccountOwner from the Lead Owner
Corrected sync Logic for the Account and PersonAccount objects. Account Owner is Inherited from the Lead Owner
2.7.121 -
Additional indexes for tnw_salesforce_entity_queue.
Added additional indexes for tnw_salesforce_entity_queue
2.7.120 -
Create events for SF ID save.
Added the following events:
tnw_salesforce_objects_save_before
tnw_salesforce_objects_save_after
tnw_salesforce_objects_delete_before
tnw_salesforce_objects_delete_after
2.7.119 -
Sync disable config doesn't take affect to cron jobs
Fixed issue with cron jobs. After disabling module configuration any cron-based work or consumers does not run if the sync is off.
2.7.118 -
Error during closing order (Deadlock issue)
Fixed issue with cron jobs. After disabling module configuration any cron-based work or consumers does not run if the sync is off.
2.7.118 -
Error during closing order (Deadlock issue)
Fixed Deadlock issue appears on admin panel.
Now all record first apears in presueue than in queue
2.7.117 -
Issue with site speed and webscale.
Improved site speed and webscale
2.7.114 -
Error during installation.
Fixed issue with modules installation ( bin/magento setup:install)
2.7.113 -
Invoice Amount does not reflect Tax and Shipping costs
Fixed issue that Invoice Amount does not reflect Tax and Shipping costs. A new SF Invoice package is available with new fields (Sub Total, Tax, Shipping, Discount Amount, Total). Added the default system mappings for the following SF Invoice fields: tnw_invoice_Subtotal__c, tnw_invoice__Discount__c, tnw_invoice__Shipping__c, tnw_invoice__Tax__c, tnw_invoice__Grand_Total__c
2.7.112 -
Slow Queries
Request speed has been increased. Added indexes to speedup sql requests. Improved filtering by status
2.7.111 -
An exception occurs when trying to change Magento Admin password if connection to SF is lost
Fixed exception when trying to change Magento Admin password if connection to SF is lost (wrong/expired password)
2.7.110 -
Company admin user synced with incorrect Contact owner
Fixed issue with incorrect synchronization of Contact owner for Company administrator. 'Retain Owner from Existing Account' option worked incorrectly
2.7.109
Error code in the sync Queue
Added new column “Error code“ on “From Magento“, “From Magento (old)“, “From Magento Stat“ pages
2.7.108
Guest order from the second website is synced if only Default (General) group is allowed for this website Issue fixed
2.7.107
Log miss xml tags - Issue fixed
2.7.106
An inappropriate error message appears when try to change Website for System mapping - Issue fixed
2.7.105
Implement functionality of updating if values in the FROM platform are NULL
Implemented new functionality: Added a new configuration setting at a field mapping level “Skip blank values“ (Yes/No)
2.7.104
Salesforce side bar menu has incorrect view if enable a lot modules - Issue fixed
2.7.103
Manually changed opportunity link does not sync with Salesforce - Issue fixed
2.7.102
Misspelled word in 'Salesforce integration is disable' message - Issue fixed
2.7.101
Returns Configuration page is available when Salesforce integration is disabled - Issue fixed
2.7.100
Incorrect LastSync date on the sync Queue pages - Issue fixed
2.7.99
'Lead Assignment Rule' option does not take effect - Issue fixed
2.7.98
Error on modules config page. An error has happened during application run. See exception log for details.
Fixed exception on modules configuration pages. The issue appears when try to open config pages and Salesforce password was expired or incorrect
2.7.97
Salesforce issue: composite status -
Fixed issue during the installation of Salesforce Started version from Marketplace.
2.7.95
Sync from M to SF starting immediately after syncing from SF to M containing empty values - Issue fixed
2.7.92
OpportunityContactRole error sync - Issue fixed
2.7.90
Multiple select product attribute values does not sync with SF
Error appeared when trying to synchronize a product with multiple select attribute, issue is fixed
2.7.89
Country State Configuration page is available when Salesforce integration is disabled - issue is fixed
2.7.88
Multiple records for order, opportunity, b2b quote appear in queue - issue is fixed
2.7.87
Salesforce "Email Opt Out" checkbox is always unmarked - issue is fixed
2.7.85
First order of new customer stuck in queue and Salesforce Lead ID not removed2.7.84
This error appeared in the queue when the following configuration:
Leads Integration - YES
Convert Leads - YES
Delete converted Lead - YES
2.7.84
Customer Lead Error 'Required fields are missing: [Company], fields [Company]'
This error ‘Customer Lead Error ‘Required fields are missing: [Company], fields [Company]' do not appear when trying to synchronize a customer that was created before synchronization is enabled, and 'Leverage Salesforce Lead’ , 'Convert Leads’ are set to Yes
2.7.83
Processor for Entity load: 'orderItem' is not defined!
This error 'Processor for Entity load: 'orderItem' is not defined!' does not appear when trying to re-sync to Salesforce an order with deleted in Magento product
2.7.82
Sync queue of quotes become frozen
Issue related to stopping syncing of B2B quotes with several versions is fixed.
2.7.81
Add pricebook validation
Presence validation of price book on website level is added
2.7.80
'Salesforce Pricebook ID' link is missing in Salesforce tab on Product edit page - issue is fixed
2.7.79
"duplicate value found: tnw_mage_basic__Magento_ID__c" error when sync archived product
A product that is archived in Salesforce cannot be synced from Magento. The error message now is 'Product is archived'. We can advise the next Solution to avoid this issue
2.7.78
Magento customer account information will be synchronized with Salesforce when 'Disable sync' option is set to 'Yes'
Issue related to synchronization of customer account information, when synchronization is disabled on customer edit page, is fixed
2.7.77
Incorrect link for 'Salesforce Product ID' in product
Issue with incorrect 'Salesforce Product ID' link on Edit product page is fixed
2.7.76
Implement functionality of updating if values in the FROM platform are NULL
New functionality allowing synchronize empty values is added. This functionality is added for both directions
2.7.75
Queue dependency issue.
If the object is not synchronized, then the existing dependencies are blocked. After this fix, when the object is re-synchronized successfully, all dependencies are synchronized automatically (without manual synchronization of each dependency)
2.7.74
"Delete converted Lead"=> "Yes" option does not remove "Salesforce Lead Id" link from customer page - issue is fixed
2.7.73
Orders with Zero Grand Total are always synchronized.
Issue, related to synchronization of orders with Total Grand equals zero when the option "Do not synchronize" is preselected, is fixed
2.7.72
Abandoned Cart does not sync automatically in Bulk mode.
Issue related to synchronization of Abandoned Cart in a Bulk mode is fixed
2.7.71
Tracking numbers are not synced in Bulk mode queue.
Issue related to synchronization of Tracking numbers in a Bulk mode is fixed
2.7.70
'Synchronize Salesforce' button does not work on 'Currency rates' page - issue is fixed
2.7.69
"NOT LOGGED IN" customer group is missing in Customer group list.
'NOT LOGGED IN' customer group is added to the list of Customer Groups for the ability to be synced
2.7.68
Default Owner option for Customer account does not take effect - issue is fixed
2.7.67
Create deleted products in Salesforce (Yes/No)' option does not take any effect
"Create deleted products in Salesforce (Yes/No)" option was removed from the configuration, now this option is always enabled
2.7.66
Customers from not selected customer groups are synchronized - issue fixed
2.7.65
Magento Marketplace module installation failed. Fixed installation of Marketplace module via composer
2.7.62
Error "pricebook entry is in a different pricebook" in queue when create order from second website
2.7.61
Separate consumer for the Bulk check result. Added new consumers to separate Bulk queue
2.7.60
Standard pricebook is not updated correctly.
Implemented new logic: When a product is synchronized we only create new Standard Pricebook entries if do not exist. But not modify/Update them.
2.7.59
INVALID_SESSION_ID: Invalid Session ID
Fixed error during synchronization when Salesforce SESSION become expired
2.7.57
Opportunity sync errors - made some improvements
2.7.56
SF Order and opportunity subtotal has an incorrect value in case of "Which currency should be used - Base store currency" option"
Fixed issue when SF Order and opportunity subtotal received value from the currency selected by the customer instead of base store currency
2.7.54
Customer: Sync twice to get a green ok.
Fixed issue when customer sync status becomes a red exclamation mark but not errors in Magento queue. When the “Leverage Salesforce Leads“ option is set to “No“, the Lead record with Status 0 is not created on “Salesforce Mappings id page”
2.7.53
Tier prices are not synchronized.
Fixed issue Tier prices are not synchronized. "Magento Website: id value of incorrect type: a025f000004ntz7..."
Error with Invoice and Shipment sync for Guest checkout.
Fixed issue in sync queue for Guest checkout
Required fields are missing: [tnw_invoice__Billing_Contact__c, tnw_invoice__Shipping_Contact__c], fields [tnw_invoice__Billing_Contact__c, tnw_invoice__Shipping_Contact__c]
2.7.51
B2BQuote sync problem: multicurrency - Issue fixed
2.7.50
Sf owner keeps reverting back to Default after it is changed. Fixed issue when Sf owner was reverted to Default after modifying order/invoice/shipment
2.7.48
InsecureFunction static test fix.
2.7.46
submit_code.sh script fix.
2.7.45
Meta and shared packages upload added
2.7.44
Automatic submission to Magento Marketplace (meta package).
2.7.38
Cannot upload WSDL file via Admin
2.7.37
Adding B2B Quotes to queue, not adding all to queue. Fixed issue when not all B2B Quotes were added to the queue. Added a new "Is sync blocked" column on the B2BQuote grid.
2.7.36
Customer sync error: Trying to access array offset on value of type null - Issue fixed
2.7.35
B2B Quote sync error (cannot load entity)
Fixed correct error handle “Magento entity loading error, queueid:[id]. Error: No such entity id=”. Now queue does not stack in status “Salesforce Update preparation“, but show correct error
2.7.34
Order Contact ID mapping to Opportunty and Order line items
2.7.33
Lead Convert issue
Fixed issue “Notice: Undefined variable: salesforceId in /app/vendor/tnw/salesforce/Synchronize/Unit/Save.php on line 116”
2.7.32
Order Contact ID mapping to Opportunty and Order line items
Added new customization: Send Order Contact ID (Salesforce contact ID) from Magento to a Salesforce Opportunuty Line Item and Order Product.
2.7.31
Missing foreign keys: tnw_salesforce_entity_queue_relation.
Fixed issue with Missed foreign keys when running setup:upgrade
2.7.30
Owner field issue
Fixed error "Owner ID: owner cannot be blank, fields [OwnerId]" when syncing two and more Websites in " Bulk sync" mode
2.7.29
EXCEEDED_ID_LIMIT: record limit reached. cannot submit more than 200 records into this call
Fixed issue when synchronization of more than 200 products stops with an error
2.7.28
Queue sync issue: stuck with Salesforce Update Preparation - Fixed issue when Salesforce Sync queue stuck with Update Preparation status
2.7.27
Quote expiration Date & Opportunity Close Date - Fixed issue when B2B Quote expiration Date does not match with Opportunity Close Date
2.7.26
JS conflict Fix
2.7.25
Foreign key SQL error - issue fixed
The foreign key exception is related to the module re-installation. Read more in next article:
Cannot delete or update a parent row: a foreign key constraint fails
2.7.24
Bulk records sync issue (fix) - fixed the issue when sync is stuck with the "Processing Update Results" and "Salesforce Update Preparation" records statuses
2.7.23
Past order sync max_input_vars - issue fixed
Order from deleted website sync
2.7.21
Undefined index: TOS_Agreement_Date__c - error fixed
2.7.20
The opportunity amount is $0.00, deleting items that should NOT be deleting - issue fixed
2.7.19
Customer sync failed (issue with SF IDs) - issue fixed
2.7.18
Opportunity duplication on Quote Edit - issue fixed (If some order has B2BQuote - it should use the same OpportunityId through the MOrder->SFOpportunity sync process).
2.7.17
Sync issue: delete action (fixed EXCEEDED_ID_LIMIT error in code)
2.7.16
Deleted entities sync issue (Queue record stuck in the "Processing" (Salesforce Update Preparation) status when deleting entities from the Magento) - issue fixed
2.7.15
Realtime sync attempt count - issue fixed (Re-sync failed records 5 times logic.)
2.7.14
Sync issue: storage class fix
2.7.12
Config issue fix
2.7.11
MQ mode Fix
Configuration section UX changes:
Configuration > TNW Salesforce > General Configuration (section) change the "General" section label to "Extensions & Information"
Rename "Synchronization" Section to "Advanced"
Add a new dropdown setting hereIntegration Mode Values: “Magento to Salesforce (only)” (Default) and “Bi-directional”
Magento to Salesforce (only) - The data will only flow from Magento to Salesforce. If any data comes from Salesforce, it will be ignored.
Bi-directional - The data will flow in both directions per your configuration on both platforms.
Move "Developer Mode" dropdown “Advanced” this section
Remove "Last CRON execution dates" for old corn jobs we are no longer using
Change the "Synchronization Type" label to "Data Volume"
Change the field description to "Set this to High Volume if you are struggling to stay within Salesforce daily API limits or if you prefer to leverage Salesforce Bulk API."
Change "System Scheduled" to "High Volume"
Change "Realtime" to "Standard"
Change "State and Country Picklists" section label to "General"
Move "Message Queue" to to "General" section
Change "Enabled" to "State & Country Picklists"
Change "Yes" to "Enabled"
Change "No" to "Disabled"
Change the description to "Check with your Salesforce Administrator if you need to enable or disable this setting."
One-way mode (changes)
Configuration > TNW Salesforce > General Configuration > Advanced (tab).
If "Integration Mode" = "Bi-directional" - keep everything as-is.
If "Integration Mode" = "Magento to Salesforce (only)" - implement the following changes:
Configuration > TNW Salesforce > Customers (section) - Hide "From Salesforce" section completely
Configuration > TNW Salesforce > Orders (section) - Hide "From Salesforce" section completely
In Magento, Salesforce (main menu) - Hide "From Salesforce" link under "Queues" section
For all mapping list pages - Hide "Sf to Magento" column from the grid
For all "new" and "edit" mapping pages - Hide "Salesforce -> Magento Settings" section
Move RabbitMQ feature to the SForceEnterprise version
SF->M sync issue
2.7.9
Prefer Mode Config
Configuration > TNW Salesforce > General Configuration > Salesforce API (tab).
Change "Prefer MQ Mode" to "Message Queue"
Change "Prefer MusqlMQ" to "Standard"
Change "Prefer RabbitMQ" to "RabbitMQ"
Remove "Detect MQ system automatically"
Set the default to "Standard"
2.7.8
Show item status "Pending" in the grid
The pool of the Salesforce sync statuses extended for 2 new statuses: 'Pending (Resync)' and 'Pending (Attempt to sync)'.
Changed Sync status storing and representation on the: Ui Grid, Classic grid, Entity pages.
Created js-component for displaying sync status on the UI form.
Added additional Order grid refresh operations for status recalculation.
When a record is added for synchronization from the admin panel, the following message is displayed for Real-time processing: 'Item(s) were added to the Salesforce sync queue'.
2.7.7
M->SF Realtime: keep failed entities in the Queue - Keep failed Queue items in our database even for the Realtime mode
2.7.6
Cleanup dependencies in the Queue: Save Salesforce IDs for non-existing Magento entities
2.7.5
MQ mode
2.7.3
Order Calculations changing upon sync with Salesforce
2.7.2
Sync Queue (redesign): New statuses
B2BQuoteItem sync fix: check if item deleted
2.7.1
MQ implement for the realtime sync
Bulk MQ