How do you maintain CKAN? Top tips for developers

Date: 1st August 2023

Just like all software systems, CKAN requires active ongoing maintenace.

We’ve got some top tips for you to consider.

In our previous blog we took a look at what CKAN is and why you should be using it. Just to recap…

CKAN is an Open Source Platform for you to store all of your health data in an organised and accessible way. When used and maintained properly, CKAN helps to optimise your data so that it’s in the best possible shape for making vital decisions.

As we said in our previous blog, in order to get the most out of your data and CKAN it has to be properly maintained. Since this is one of our expertise, we’ve put together our top tips to keep CKAN running smoothly which you can use with your developers to make sure everything is in tip top shape.

Why is active maintenance important?

It’s an ever-changing world out there on the web. You want to ensure that you have the most secure, stable, tidy and feature rich system possible. Much like tidying your house, if you don’t keep on top of it bit-by-bit, it can quickly become an overwhelming and impossible task.

Security patching is perhaps the most urgent reason to undertake active maintenance. New security vulnerabilities are discovered on a daily basis so updates are necessary to prevent data leaks and keep the system running securely. You also need to regularly check everything is backing up properly to ensure data can be restored properly in case of a system failure – you don’t want to be finding out there’s backup issues when it’s too late.

Any top tips for maintaining CKAN instances?

As it happens, at Fjelltopp we’ve got quite a lot of experience using CKAN. So we’ve put together our top maintenance tips to keep everything running smoothly…

[1] Organise your code base well. 

Minimise the number of repositories and lines of code that you are responsible for maintaining. Remember, every new line of code comes with an ongoing maintenance cost!  Avoid forking the core CKAN repository or any third-party extensions. Instead, wherever possible, override the necessary behaviour using Plugin interfaces in your own single custom extension.

[2] Write good code!

…not just code that works for now. For instance, only import core CKAN components via the plugins toolkit, use chained actions wherever possible, and follow the documented best practices.  When in doubt, draw on examples in core CKAN extensions, or those developed by the core CKAN team. Good code reduces the ongoing maintenance load. 

[3] Adopt a better method of managing dependencies. 

The default CKAN practice of using requirements.txt files is just not a great solution. At Fjelltopp we now use PipEnv to create a single locked set of dependencies for our CKAN projects.   This helps to keep control of our dependencies across all of our development, testing and hosting environments. 

[4] Keep up to date with the latest patch versions of CKAN.

We’re talking security updates. It’s just common sense – you don’t leave your personal belongings open to thieves, so don’t leave your data vulnerable to attackers.

[5] Familiarise yourself with the migration notes as soon a new major CKAN version is announced.

This will enable you to factor any necessary changes into your ongoing work. It will save you a time-crunch later on. The saying goes ‘diamonds are made under pressure’ but not in this case. Keep your system safe and stable, prepare accordingly.

[6] Use the infrastructure-as-code (IaC) approach.

This creates replicable, stable and documented infrastructure to host your CKAN deployments. At Fjelltopp we use Ansible to create Kubernetes containerised environments across local and cloud infrastructure. 

[7] Stay in touch with the Open Source community.

They can provide information on troubleshooting particular issues and new preparing for upcoming updates (we recommend GitHub issues and Gitter Channel for this). This way you can resolve issues before they become a problem, and strategically manage your development priorities.

These are just a few of our top tips for how to maintain CKAN. Keeping on top of these steps should help you to keep CKAN well maintained and your data in shipshape, but it doesn’t stop there. If you want to have a chat about CKAN maintenance and how to do it right, please get in touch with the Fjelltopp team today.

We’re here to help

You don’t need to sit wondering how to maintain CKAN, we’re here to help however little or as much as you may need. The goal is to harmonise your health data no matter how you get there.

If you’d like to keep in the know with Fjelltopp tips, tricks and news follow us on LinkedIn, Twitter and Facebook. For those of you who don’t want to miss a thing you can sign up to our newsletter below! That way you’ll never miss an update.