Alchemy PlugIn – Component Synchronizer

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.

Code Repository

The code for the this alchemy plug-in can be found on GitHub at below URL: GitHub – Component Synchronizer

Disclaimer

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.

10+ years of experience in Software Development Life Cycle using AGILE, Iterative and RUP approaches. Hand-on experience in following: - CMS packages: SDL Tridion, Umbraco, Kentico, SiteFinity and Alfresco - Search Engines: SOLR, Endecca, FAST - .NET Technologies: .NET & .NET CE Framework, ASP.NET, ASP.NET MVC, WCF, WinForms - Mobile Development: Android Native App, Windows Mobile App - Database: MS-SQL Server, MySQL - Program Management: JIRA, MS-Project - Design Tools: MS-Visio, StarUML Have decent knowledge about Core Java, Spring MVC, Ektron and Google Mini Instrumental in Application Architecture, Designing (HLD & LLD), Coding and deployment .NET applications (Web, Desktop, Mobile). Experience in following domain: - Digital Media & eCommerce - Travel & Hospitality - Aviation Industry - Education - Insurance - Automation - Automobile - Railways Freelance trainer and consultant in .NET, CMS, SDL Tridion, Alfresco and soft skills like business communication, e-mail etiquette etc. Education: Bachelor Degree in Computer Engineering and Post Graduate Diploma in Business Administration with specialization in Marketing

Posted in SDL Tridion
4 comments on “Alchemy PlugIn – Component Synchronizer
  1. Well said. I had this problem and solved it by writing the core service script but yes the power tool by Quirijn also works well. We ll give Alchemy a try next time. 🙂

  2. rsleggett says:

    Hey Pankaj, this is cool! I have seen this issue and used all the methods you propose.

    I haven’t tried your plugin out yet but do you think it would be possible to build in an SQL backup into the plugin?

    That would mean you wouldn’t need your red Disclaimer in your post. Instead, You could put that as a warning in the plugin if the user skips the backup option.

    Usually when in dev/test phase I am logged in to SDL Tridion/Web as a user which has permission to backup the CM database on the SQL server. I estimate that’s probably the case 80% of the time for these phases.

    Is it possible to connect directly to the CM SQL server from Alchemy, impersonate the current user and run the BACKUP DATABASE command to back up the CM DB?

    Just an idea, not sure it’s doable…

    Rob

  3. Pankaj Gaur says:

    Awesome idea Rob. I will dig further about it and try to incorporate this idea at the earliest – but surely this makes sense and makes the life of end user easier. Will keep posted about it 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: