Blog

TDS 5.0 Release Notes

February 05, 2014 | Charlie Turano

The time is almost here, TDS V5 is just about ready for launch! We’ve put the finishing touches on development of V5, and are excited to start testing so we can get this out. To help spread the word of the new version we've lined up a list of User Groups that we'll be showcasing the new features. Check out our upcoming schedule of events.

To get started I want to tell everyone about all the new features and what they will bring to your development. This version provides Sitecore developers with more features than ever before. Don’t trust me, see for yourself in the release notes below.

New Features and Functionality

  • Ability to reference other TDS projects – You can now setup dependencies between projects for code generation and bundling of projects when a build occurs. Code Generation can now reference classes generated in other TDS projects for base class inheritance. Bundling support also allows multiple TDS projects to be combined into a single update package.
  • Improved TDS / Sitecore Rocks integration – You can now add Items to different TDS projects directly from the Sitecore Rocks interfaces. Items can be synced through Sitecore Rocks as well.
  • TDS Project Wizard - A new Visual Studio project template has been added that will start a TDS connection wizard. The connection wizard will take you through the process of setting up your first connection.
  • Merging large fields - When merging large fields an additional button will display in the merge screen and also in the sync items window. Clicking this button will allow you to see the entire field contents side by side.
  • Exclude fields from checks when syncing – You can now specify fields that TDS will ignore when performing a sync and checking for differences between the items on disk and the items within Sitecore.
  • Keyboard Shortcuts - Keyboard shortcuts have been added to the Deployment Property Manager, Sync Window and Merge Windows.
  • License screen - A license screen has been added that can be accessed from the Help menu. It allows you to find out your license information and update this information if you need to.
  • Disable file deployment - A check box that indicates if TDS should not deploy files from the target Web Application to the folder specified in the Sitecore Deploy Folder field.
  • Install folder checks - An additional test button has been added to the Build tab that allows you to test the Sitecore Web Url and Sitecore Deploy Folder to verify that both fields point to the same location.
  • Transform XML files - TDS can now transform any XML files not just web.config. TDS will transform them based on the build configuration being run, this is achieved by specifying transforms in the same manner as Web.Config transforms.
  • Control package names - The name of the Sitecore update package (.update file) generated by TDS can now be controlled from the Update Package Settings tab.
  • Assembly exclude list can now be an include list - The Exclude Assembly list on the project General tab can now be used to create a white list of files to include in deployment.
  • Plain T4 Templates - A plain T4 template can now be added to the solution for code generation.
  • Global Config File - You can now create a Global config file to contain common settings used across all TDS projects. When a setting is overridden TDS will place a symbol next to the field in the property tab and disable the field.
  • Help link from error messages - Additional help links have been added to certain error messages in TDS to make it easier to understand and solve issues.
  • Project Validations - Project validations check the integrity of a TDS project when the project is built. TDS now contains several out of the box validators, for example the ability to ensure that certain items are set to deploy once or that template items contain the correct field section then field structure. Custom validators can be created.

Improvements

  • Code generation cache freshness - Improved the code generation item cache expiry to ensure that new items pulled in from source control are included in the code generation.
  • Moved item parsing to background thread - When a project configuration changes items will be re-parsed on a background thread to improve performance.
  • Regenerate code generation when custom data changes - Code will automatically be regenerated when an items custom data or namespace changes.
  • Special characters in names - Better support for special characters in Sitecore item names with warnings when the user tries to import an item that may not work with the Sitecore update packager.
  • Item path lengths - Improved messaging when an items path length exceeds that which can be handled by the file system.
  • Loop detection when items are deployed - Added loop detection when items are deployed to avoid TDS being caught in an infinite loop.
  • Clean build folders - Improvement to the process that cleans the build folders, including removing all file replacements.
  • Default build output path - The default build output used to be directly beneath the solution e.g. \debug, this has been moved to beneath the bin folder e.g. \bin\debug.
  • Error loading TDS project notification - TDS will not show a dialog if there is a problem opening a project file, previously this would just be reported to the output window and maybe missed by a developer.
  • Removing a TT file - Removing a TT (code generation template) file will now remove references to it in the item tree where it has been set as the Code Generation Template for individual items. This avoids an exception being throw when deleting TT files.
  • TDS pane in Output Window - The Output window now contains a pane for TDS, this can be accessed by click on " show="" output="" from:"="" and="" selecting="" "team="" development="" for="" sitecore".="" tds="" will="" log="" information="" to="" this="" pane.="">
  • Improved performance in the Deployment Property Manager - Improved how the Deployment Property Manager handles thousands of items to avoid it hanging Visual Studio.
  • Caching item sort order - Caching the item sort order to increase the speed at which a project loads.
  • Cleaning the build folder after file replacements changed - When the file replacements list is changed the build folder is cleaned. This avoids the situation where file replacement would be left behind.
  • Icon paths - Icon paths are no longer included in the project file to make it easier to manage the project file when performing a merge.
  • Sitecore Rocks Diagram Plugin - Update the diagram plugin to support Sitecore Rocks 1.0.
  • Copy and Paste TT files - It is now possible to copy and paste TT files within a project.
  • Template code regeneration when parent template changes - When a template is inherited by another template, the child templates can be set to regenerate code when the parent template is changed.
  • Improved property page field validation - Improved the reporting of mistakes within fields in the TDS project property tabs. Validation error messages are now clear and additional checks have been added.
  • TDS Project file associates to Visual Studio - Double clicking on a TDS project file in Windows Explorer will now open the project in Visual Studio.
  • Autosave TDS Project - The TDS project will now autosave after a sync or get items operations. This avoids the issue of users performing these operations and committing the item files but forgetting to save and commit the project file to source control.
  • Removing Sitecore.*.dll from the Excluded Assembly list - Some users experience problems removing the Sitecore.*.dll entry from the Excluded Assembly list, the line would be removed but would the reappear when the project was opened again, this have been fixed.
  • TemplateId is a Field Level Deployment field - The TemplateId field is now a field level deployment field, this allows a developer to deploy just this field separate from the rest of the item information. This is useful for items that are set to "Deploy Once" but then have had their template changed.
  • Icon indicating missing .item files - If the .item file for an item is missing on disk TDS will now display a different icon to highlight the issue to the developer.
  • Improved messaging when TDS fails to communicate to Sitecore - Improved messaging when TDS tries to communicate with Sitecore making it easier to diagnose and fix connection issues.
  • Skip duplicate items - TDS will now prompt when it finds a duplicate item when performing a sync and will allow the developer to skip the item and continue syncing.

Bugs

  • Ability to merge __Hide and __Lock fields - Fixed issue where an exception would be thrown when trying to merge either the __Hide or __Lock fields.
  • Incorrectly removing child when syncing items - Fixed bug where child items would be removed if an items name didn't match rather than it's Id. The id will now be used for comparison.
  • Projects in Solution folders - Projects that were nested within to levels of solutions folders were sometimes not found by TDS, this issue has been fixed.
  • Re-adding items to TDS - adding an item to TDS after deleting it resulted in a duplicate key error.
  • Merging an item with a null value - When merging a TDS item with a null value this could cause an exception to be thrown.
  • Removed registry entries on uninstall - Not all registry entries were being removed when uninstalling TDS.
  • Template Diagrammer Error in VS 2013 - Fixed bug that caused VS2013 to throw the error "Exception Catastrophic Failure" when using the Template Diagrammer.
  • Code Generation required connection strings - Code Generation required connections strings to a Sitecore website to run, this is no longer required.
  • Save All button - Clicking the Save All button will now save the TDS project.
  • The project build order was not being enforced when run from the command line - When running a build from the command line the projects were being build based on the order they appear in the solution file and not based on the order of the project dependencies.