I started this post as a talk on how to improve the development experience when creating Sitefinity sites. But it has now turned into more of a on going list of performance improvements and checks for both development and production. The suggestions are in no particular order and I haven't added images and long explanations so as to keep the ideas in one place. Some of these may or may not be appropriate for your site and environment but all should be considered when looking at improving your production or development environments. I encourage you to let me know any others that you believe are helpful.
Sitefinity supports MVC through widgets and the Feather framework. We get the freedom to place views where we wish and through MVC conventions, Sitefinity will go through and find them them for us. With that look up process there are some look-ups that we may never utilise such as widgets built on web forms engine so why bother looking for it.
It's not uncommon to add a global.ascx file to a project. By default, it adds a series of empty methods which you can use but are often left empty. Recently I came across an error on my site which was new to me, hard to reproduce yet fixed with a page refresh.
Sitefinity 9.2 was released last week. There was one particular feature that I had been looking forward to experimenting with, the Module Export feature and was keen to get it installed and have a look at it. I went through my normal upgrade processes and pushed it out to my live site, but it was the worst upgrade experience of my life. But was it Sitefinity's fault or my own?
Sitefinity has released 9.1 today. There is the usual compilation of bug fixes from all the internal builds since 9.0 as well as a few new features added and improved. But there is one thing that has really made me smile and I am pleased with. You may not like it but I do.
Sitefinity supports Azure Search which is massively saleable. But there is a blocking issue where you can not index a site that has more than 1000 items\documents. The good news is that Sitefinity are aware of this. They have a fix for you to use and have the issue logged so as to be addressed and fixed in the product.
If you are running your Sitefinity site on Azure you might as well be taking advantage of Application Insights to record and analyse performance. By default, Sitefinity logs everything to a text file. Annoyingly you can't read this because the file is locked by the app. You need to wait until it starts a new file the following day. You can push all these events to Elmah which is supported out of the box. But with Sitefinity's extension model you can write your own class to push out this information to your own logging source.
The Sitefinity team have released the start of a new Certification process. Currently the course and exam are free until August this year. There is just the one at present, Basic Developer, so I decided I would take it and see how it compared to the last Certification exam from Sitefinity.
If you are running your Sitefinity site on a shared hosting provider you may come across a troublesome error indicating that the available memory space is under 5% and your service can not be activated. This is a defensive measure by ASP.NET to help keep your system stable but what can you do about it?
In a recent internal build the Sitefinity team has added a new feature request allowing one to control the Vary By options for output caching. I wrote a post a while back talking about how to add this functionality in. But now, I am glad to say, this post is almost completely obsolete.
After upgrading to Sitefinity 8.2 my login widget stopped working with a return url query string. Checking my other sites they too had the same issue after upgrading.