Sitefinity has a few hidden gems and helpful utilities which are very handy to know about. It would be nice if they had a page listing these out. Recently I needed a list of countries. I knew the eCommerce module dealt with such a list so where was it? I went looking and found not only the list but a little bit extra.
The new HTTP protocol, HTTP2 is here. You can see it being used on the web if you know where to look. It is something we need to be aware of, understand how it works and how to take advantage of it. For Sitefinity projects we need to consider what we may change in our project structure and processes to address and take advantage of the protocol. First things first, lets briefly discuss what the protocol is, how do we implement it and finally what we need to change to take advantage of it.
When creating a multi-lingual site in Sitefinity it isn't just a matter of adding a language and creating the alternative content. To be truly multi-lingual there are many design considerations you need to consider. As a developer, one of your first considerations is how to set up multiple URLs so that your site will render in different languages.
Recently I had a need to perform some actions after a user had logged out of Sitefinity. Checking the Sitefinity Event Hub list of events I noticed that this event didn't exist. I decided to go looking to see if I could find a way to handle the event and to my surprise I found an undocumented feature.
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.