November 01, 2017 | David Opp
One of the new features in TDS Classic 5.7 is Lightning Mode, which helps to improve the speed and efficiency of both deploy and sync operations. This enhancement is achieved by modifying how item comparisons are performed. A typical item comparison is done by comparing every field on both the target and source items. Lightning Mode improves comparison times by comparing only the revision IDs of these items. Those familiar with other Hedgehog products may recognize this from RAZL’s Lighting Mode which utilizes the same implementation.
Lightning Mode can be utilized two different ways. The first is the "Enable Lightning Deploy Mode" option in the build menu in the TDS Classic project properties.
This option will apply to the deploy operation for the configuration selected as long as the 'Install Sitecore Connector' checkbox is used (i.e. when TDS Classic can connect to your site to do the Revision ID comparison). With Lightning Mode on, this deploy operation will include a comparison step and only those items found to have differing revision IDs between the target and source will be deployed. It’s important to note that Lightning Mode will not modify how deployment options such as ‘deploy once’ are treated. Those items will continue to be skipped as normal if they exist in your Sitecore instance.
The second option is to set "Lightning Sync Mode" to True in the TDS Options menu. This will turn Lightning Mode on for all sync operations, and will also be utilized when using the 'Quick Push' features.
TDS Classic 5.7 focuses on the speed of TDS Classic and its compatibility with Sitecore Helix and Sitecore Habitat. Check out the rest of the new features or try TDS Classic 5.7 for yourself!
There are a few things to be aware of while using the Lightning Mode: revision IDs are used to determine if an item needs to be deployed or not, which can create unique situations. Any scenario that would cause revision IDs to remain matching on the source and target items (even with non-identical content) will cause the deploy or sync to skip those items, and therefore possibly miss changed field content. This is more of an edge case, but could happen because of improperly resolved merge conflicts on TDS Classic items, or custom code that modifies an item but specifically aims to not update an item's statistics (Revision ID, Updated By, Updated Date, etc). Luckily, most operations in Sitecore will update the revision ID, so these edge cases are unlikely to affect most developers. If for any reason a revision ID is not properly updated and an item is not included that should be, simply switching Lightning Mode off and re-executing the operation should ensure that all items are deployed or synced correctly.