Telerik’s release of Sitefinity 4 added several new elements and enhancements to their ever popular CMs, however, for those already familiar with 3.x might become overwhelmed by the changes. Nearly every aspect of the old Sitefinity has been changed, from the way it’s structured, to the way Sitefinity gets built, in order to make the most of these enhancements. One of the most notable backend changes is that it is done in mostly AJAX, smoothing out the refreshing pages where they are no longer necessary. Today we will go through a brief overview of some of the main changes since going through every change could take weeks.
Project Over Website
One of the biggest changes that Telerik made is that Sitefinity is no longer created as though it’s a website, now everything is managed as though it is a web app. This lets you add separate mini-projects as references to the site and because of the references the entire file structure is a lot smaller. Another difference is debugging the project. For most cases getting the change to take affect requires building your entire project. This is nothing new to Visual Studio projects, but was never necessary to get changes to take effect in 3.x.
One of the first changes you may notice switching from 3.x to 4.x is the file structure. This is completely “revamped” from the old system. I say revamped in quotes because I am still uncertain if I like it better. The old method correlated with asp.net’s website format. This let Sitefinity find any masterpages and themes automatically without any additional effort from the developer. The new file structure groups themes much better, but require extra work to use them. In 4.x you will place everything in primarily the App_Data folder. From there you would go -> Sitefinity -> WebsiteTemplates. The WebsiteTemplates folder has to be created, as it doesn’t come standard on 4.x (this was probably one of the most confusing parts looking through the early 4.x documentation. Luckily as Sitefinity 4 has aged they have added plenty more content). After that directory is created you need to add the folder replacing the name with what you want your template to be named. As you will notice the App_Master, App_Themes and WidgetTemplates folders are nested nicely inside. This lets you create multiple templates for a site and it keeps all the components together for each template. Inside folder you may notice that there is a WidgetTemplates folder. In Sitefinity 3.x there were no widgets, in 4.x the toolbox controls became “widgets” and the templates that go in the WidgetsTemplates folder are essentially the ones that modify the style of already existing widgets such as the blog, or news controls. This helps keep everything for that specific template all in the same spot letting you add more than one template easily to the site.
Because of the different file structure anything you create needs to be registered into the back end of Sitefinity 4. This includes but is not limited to master pages, themes, and widgets. In Sitefinity 3.x registering controls was easily done in the web.config and although it is possible to register items through files it is often easier to do it in the backend. The only downside to this is navigating through the back end can be tedious especially with a lower end computer and can be confusing the first time you attempt to do so.
Sitefinity 4.x was developed as a median of perfection between the developer and backend user. Switching to an AJAX experience cleaned up the backend excellently. The API for creating custom widgets is clean and makes custom widgets fairly easy to create for people already familiar with creating custom controls. Telerik overall has an excellent CMS system on their hands that easily bests its older counterpart.