Caching Data
In this article I provide one solution for generating and sharing data across multiple nodes of a Sitefinity website.
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.
In this article I provide one solution for generating and sharing data across multiple nodes of a Sitefinity website.
Its not hard to spot a design that was created by a developer. Almost every Windows Form App up until 2010 suffered that horific left side brian effort. Thankfully today we often have a dedicated UI/UX designer sorting that out but even if you have no responsibity around what the front end pages look like you still have a major UX responsibility to ensure a successful project.
Sitefinity uses an in-memory cache service derived from the popular, (in it's day) Microsoft Enterprise Library application blocks. The trouble is that if you have a load balanced environment you are saving a copy of your cached data on every node. This extension adds a distributed cache option via Redis. It has some caveats to consider so make sure you understand those first.
This post continues a collection of ideas and options for you to pick from to help your Sitefinity projects run faster. Some are actualy Sitefinity specific. Some are for when developing. Some are for production. Most can be applied to any website. This post is a varity of bits and bobs.
This post is a collection of ideas and options for you to pick from to help your Sitefinity projects run faster. Some are actualy Sitefinity specific. Some are for when developing. Some are for production. Most can be applied to any website. This post focuses around resource loading. A second post will look at a varity of things.
When creating your own widgets one thing you don't want is if it throws an error to 500 the whole page. Maybe you do? This post is for those that don't want that but prefer to display something a bit more friendly and are looking for help tracking those, 'only happens in production with a random customer', errors.
Upgrading Sitefinity continues to improve. Back in the day, it was best to upgrade by each major version. Then NuGet packages came along and support for upgrading multiple major versions was supported. Now we have CLI and as of 13.1 it is quite robust and the way going forward I think.
Capturing error information is an important requirement. Sitefinity puts these into log files by default but that is not so handy when you have to navigate to the server to get them. Worst when you are in a load balanced environment. Elmah is an option but has its downside. You can craft your own or you can use a little Sitefinity secert.
A decade or so ago we used to create a physically different website for mobile devices. Then media queries and responsive design came along and we were able to adjust our layouts to fit the screen in one site. A problem we can still come across though is around the performance of that site on devices with slower internet connections and less horsepower. At least for those few of us who can not afford a $1500 smart device.
The eCommerce module in Sitefinity has long been a bit of a bugbear for them. They never intended to move it to feather and got others to create integrations as a preference. I originally created MVC feather widgets for the module and used them on this site for a few years but now I have upgraded and done an integration with Snipcart.
Creating Sitefinity Add-ons is a great idea and feature. It allows you to bundle up parts of your Sitefinity development into a Nuget package and distrubite it. I had a feature that I was keen to export but I soon realised there was a big cavert which caused me a bit of dejection around it.
Spam, spam, spam. Something we have to deal with eventually when we allow people to make comments on our website. Akismet offers a good service for identifying spam comments for you. In this post I have a look at implementing it in Sitefinity and customising the comments module.
For as long as I have been using Sitefinity I have never come across this scenario. A custom or dynamic long text field where the selected Sitefinity page URL renders out as a GUID. Turns out, that I should have always had a utility function wrapping my fields before I render them out.
A good sign that a feature is never used is when it has a bug in it for years and no one comes across it. This happened to me just recently.