Christmas Countdown: #3 NIHS - Not Invented Here Syndrome in real life
One of the most common and dreaded diseases in web site development often go undiagnosed and untreated for a long time. But it really should be, cause the effects are scary. Yes, I'm talking about the Not-Invented-Here Syndrome
Christmas Countdown: #5 Sure, our servers are locked up tight in the basement!
Securing your website is as important a topic as it is large and complex. In this post I will not go into too many details, but highlight a few problems I often see in Optimizely/EPiServer CMS implementations.
Christmas Countdown: #7 DDoS? What's that? What do you mean 'prepared'?
Is your website ready to handle intense usage scenarios like DDoS attacks or black friday? Many people think that testing performance is the same as testing for load - but it's not and sometimes it might even work against each other.
Christmas Countdown: #8 Code maintenance is 90% of the work
Greenfield development is by far the most fun for everybody. So it's easy to forget that most development work is actually maintenance. And every new line of code you write means more code to maintain. Almost all codebases I review have significant technical debt. And the debt starts to accumulate from the moment you start coding.
Christmas Countdown: #9 What? ViewModels? Nah, we don't need those
This is another classic - with a big impact! Since recycling is great, why don't we just reuse the content model as a view model? We can just enrich it in the controller, right?
Christmas Countdown: #11 Dependency Injection is not as easy as it seems
Dependency Injection is an extremely useful pattern. It has been used with EPiServer CMS for years - and with .NET Core it has truly become the go-to method of coupling your business logic together. However, once you start having services depend on other services their lifetimes can give some unexpected difficulties.
Optimizely Search & Navigation - Get autocomplete suggestions in right language
When you are using Optimizely Search & Navigation (Find) to help you generate autocomplete suggestions server side in a multi-language scenario it can be tricky (and poorly documented) to figure out how to get the suggestions in the correct language.
Using System.Text.Json to do polymorphic Json conversion in .NET 6
When using System.Text.Json to serialize complex objects you sometimes need to go a bit beyond how the default serialization works. Here are a few helpful converters - for example for doing polymorphic conversion.
New Open Source Package: CodeArt.MatomoTracking
As Google Analytics have gotten harder and harder to use due to GDPR, legal and privacy concerns I have turned more and more to Matomo. I recently completed v.1 of a new open source tracking integration.
When best practice isn't the best - Dependency Injection and Optimizely CMS
Some people live and breath 'best practice' development. I am not one of them. Risk is, in-experienced developers (or sometimes experienced) might use them just cause they are 'best practice' and not think more about it. Even when it turns out they are not. Here is little example...