The
Sitefinity Blog

Welcome to my articles on Sitefinity and the and experiences I have had. I do love helping others out and it gives me a real thrill when people approach me for help and second when I actually help them out. So here I not only hope to help others out but also hope that others take the time to help me out. I don't mind being wrong but I do hate being wrong for a long time. So call me out if you can, help me to avoid writing another Doh story.

Jul 10

Relative Route Returns 404

Recently I used the RelativeRoute attribute on my custom widget controller like I had many times before. But this time the functionality just did not work. I got 404 errors and it only worked if I hard coded the page name into my relative route. To make matters worse when I deployed it to my server it did work. If others got the project and tested it, it failed for them too. If I tested other projects where I used the RelativeRoute attribute they still worked. I racked my brain but really had no explanation.

Read more »

May 18

reCaptcha

Google reCaptcha is a popular tool to help secure our forms against spam bots. Often email services will check our forms to ensure we have one present and you may be asked for one to be added. That happened to me. Sitefinity has its own forms and reCaptcha tools but often I find myself creating my own custom form widgets to quickly get the requirement that I have been asked to develop. In this post I look at how to get one added to a custom form you may have created in Sitefinity.

Read more »

Apr 13

Country List

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.

Read more »

Apr 11

Managers

Those C# developers coming to Sitefinity will often use the 'using' keyword to effectively use and dispose of objects. I do this as well but in Sitefinity there is one time when it may seem like the right idea to use it when in fact it is not.

Read more »

Apr 02

HTTP2

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.

Read more »

Mar 08

Multi-lingual Development

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.

Read more »

Mar 27

Logout Event

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.

Read more »

Mar 21

Sitefinity Speed

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.

Read more »

Mar 20

Improve MVC View Lookup

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.

Read more »

Mar 20

Remove Empty Global Methods

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.

Read more »

Oct 12

Sitefinity 9.2 My worst upgrade ever but

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?

Read more »

May 20

Sitefinity 9.1

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.

Read more »

May 12

Azure Search

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.

Read more »

Apr 12

Missing Newsletter Module

After upgrading you may find that your Marketing menu is missing all the Newsletter\Email Campaign menu items. Sitefinity has a knowledge base article on how to fix it but it doesn't work so well if you are storing your configuration in the database.

Read more »