What's wrong with file overrides?

An astute reader of yesterday’s email pointed out that I didn't actually mention why file overrides are such a problem for upgrades in CiviCRM.

Why can't we just leave the files in place? They worked in the previous version of the CiviCRM, why wouldn't they work in the new version?

The simple answer:

These files don't just contain your customizations; they contain essential pieces of CiviCRM functionality.

That means old versions of these files are very likely incompatible with the new version of CiviCRM.

And if they're incompatible, you will have problems:

  • You may be missing out on important security fixes.

  • You may be missing out an important bug fixes.

  • You may actually be introducing new bugs due to the compatibility.

  • Even worse, things may appear to be working fine, while your upgraded system is slowly (and quietly) accumulating corrupt data that you won't notice for months.

Digging out of those problems later on is going to be very difficult or perhaps impossible.

That's why a successful upgrade absolutely depends upon upgrading these files.

So why does CiviCRM allow this at all?

There's nothing inherently wrong with using the file overrides features to customize your system.

But doing so without calculating the cost of increased effort at every single upgrade is probably not a wise move.

All the best,
A.

Previous
Previous

CiviCRM upgrade oddities: extension compatibility

Next
Next

CiviCRM upgrade oddities: file overrides