What is component synchronization
Quite often when you change your schema with changes like adding fields with default values, changes xml field names, namespace changes etc.; it require all components based on that schema to be synchronize with these new changes. As soon as you open an existing Component, it will automatically adopts the changed schema structure and saving it back will synchronize the component, however, in case there are hundreds or thousands of such components then this synchronization becomes a cumbersome and tedious job to achieve manually. Further, if you add a new field with some default value to starts with, the existing components won’t automatically fill that field with the default value unless you edit the component and manually enter this field.
Fortunately, There are multiple options to achieve this like the Community Power Tool , Core Service custom code as Described HERE or you can write your own code to achieve this.
I would like to add another option to achieve this through a sweet Alchemy PlugIn – Component Synchronizer.
What you can do with this Alchemy PlugIn
You can achieve following:
- Select a component and synchronizes it with its schema for all the changes made in the schema at once
- Select a component and choose to synchronize it for specific change like Namespace changes, Field XML name changes, Applying default values etc.
- Select a Schema and synchronizes all components based on this schema in one go
Supported Tridion Version
Currently it supports only SDL Tridion 2013 SP1. The work for providing support to older version is under progress.
The code for the this alchemy plug-in can be found on GitHub at below URL: GitHub – Component Synchronizer
Any Component Synchronization may results in data loss. This is highly recommended to backup your content before you execute any component synchronization on your components and/or schema.