Try Now
More in this section
Blogs RSS feed

Introducing Sitefinity Code Sync & Deploy

by Chris Eargle

The release of Sitefinity 6.2 is right around the corner, and it includes a brand new feature for developers using Sitefinity SiteSync: Code Sync & Deploy.

Solo or Team

As a solo developer, you are responsible for delivering on all the projects development-related requirements. You must use the processes and tools required by your employer or client, but you otherwise have control over additional processes and tools in the development cycle. This can range from version control to unit testing to delivery mechanisms.

Working on a development team presents unique challenges. Processes and tools outside the scope of your employer or client’s requirements affect others on your team. The project owner or team lead may assign someone to define and setup the infrastructure for project-specific tools and processes, or the team may adopt them, ad hoc, during development. Oftentimes both occur.

Code Sync & Deploy addresses both common and team-specific scenarios. This feature comes with SiteSync, and you must have Sitefinity Thunder installed.

Here are a few ways you can improve your own processes with Code Sync & Deploy.

Deployed Versions

Having a deployed project’s source code is important. Not just any version of the source code, but the source code matching the running software. In an ideal world, all versions of everything required to build a project are contained in source control with labels to identify releases. Bad things do happen though: servers and backups are lost, essential files are left out of source control, or perhaps the previous consultant updated the site without delivering the updated source.

After enabling Code Sync, both binaries and source code are stored on the server. After making changes, Thunder checks for changes, conflicts are merged, and only the necessary files are uploaded. Your clients no longer have to worry about lost or unrecoverable source code for the Sitefinity project, since it’s included.

Finally, making changes or fixing a bug on an existing, Code Sync-enabled site is easy. Connect to the site with Thunder, retrieve the server version, and you’re ready to code!


Code Sync is even more powerful when two or more developers are working on the same Sitefinity instance. It allows us to collaborate on features from within Visual Studio.

I’m a developer, and I can design decent UIs. However, I have a designer (Mike) on my team who can create amazing designs. By working together, on the same instance from our respective workstations, we can quickly ramp up amazing widgets. Of course, I’ll do the C# and JavaScript, and he’ll do the HTML and CSS. Instead of building everything separately and piecing it together, we can create it at the same time!

I find this beneficial since Mike can give me suggestions on the best way to interact with his design, and I won’t ham-handedly force something into the design to accommodate a need in the code. Instead, we can work out the best approach, discuss alternatives, and with Code Sync, make informed decisions based on actual code interaction.

Deploying Widgets and Modules

The current way you add widgets and modules to a Sitefinity instance involves adding it (or a reference) to your project or solution, using Thunder to register it, and then redeploying the whole thing. If you wish to develop a module or widget in a separate solution, you can put the assembly on server yourself, but then you’re responsible for configuring Sitefinity to use it.

Code Deploy takes the hassle out of this. Using the deploy action, you select the widgets and modules, and Thunder delivers the requisite assemblies to the connected server. It also handles the configuration for you. It’s a direct and simple solution for deploying your reusable modules.

To Be Continued

Having the right tools available makes a huge difference. It can even save a project! Please leave a comment and tell me what you think of this feature.

Drop by next week for a Code Sync & Deploy walkthrough.

Leave a comment