It is (once again) that time of the decade again
It happened in 2001, it happened in 2007, and it happened again in 2015. The website was given a new layout, whilst the underlying CMS was largely left to carry on as before.
Now something is happening again. This time, however, it is not just the template that is being replaced.
The old CMS has finally gone offline.
It wasn’t really a decision. The hosting provider shut down the platform on which the site had been running since 2007, and which by that point had become technically obsolete in almost every conceivable way. The system was written in PHP with a database interface that had long since been removed from modern versions of the language. It could therefore not simply be moved to a new server.
In 2015, I wrote that, as a matter of principle, I didn’t think things should be allowed to go offline. I still believe that. But that principle couldn’t change the fact that the site was now actually offline, and that it would require a considerable effort to bring it back online.
So about a year went by.
Not because the problem had become any smaller in the meantime, but because a new solution had gradually become practically feasible: the task could be outsourced to a group of language modellers.
They were not tasked with reviving the old CMS. Instead, they were tasked with building a new one.
The new system is called Kartotek. Like the old one, it is built on the fundamental idea that content is not just something to be displayed here and now. It must be possible to preserve, move and understand it later. Articles have versions; images and other elements are independent objects; and metadata, relationships and history are part of the content rather than something scattered haphazardly around it.
In many ways, Kartotek is therefore a continuation of the old system. But technically, it has been built from scratch using a modern application, with documented data formats, import and export functions, automatic archiving and significantly more options for managing the content.
The division of labour was also new.
I described what the system needed to be able to do, reviewed the results and explained when something wasn’t working as intended. The language modellers analysed the requirements, proposed solutions, wrote the code, tested it, found bugs and fixed them. Some built Kartotek. Others reviewed the old system, the database and the many special rules that had accumulated over the years.
Once Kartotek was sufficiently complete, the next task began: the old articles had to be migrated into it.
Of course, this turned out not to be simply a matter of copying text from one database to another. The old CMS had its own system of versions, images, links, maps, timelines and small, homemade markings within the articles. The character set was officially one thing but, in reality, something else. Text had been added and removed using various forms of escaping, and parts of the system’s behaviour were only documented by the fact that the old system worked that way.
The language models therefore first had to understand the system as a piece of digital archaeology. They then built a conversion tool, ran test migrations, compared the results with the original data and corrected the errors that only became apparent once the entire collection had been processed.
Finally, 277 articles and around 3,200 versions were migrated into Kartotek, along with images, links, geographical data and a large part of their original history.
I haven’t written a single line of code myself. In fact, I haven’t even written this article by hand.
That does not mean the system came about without any effort on my part. There have been many decisions regarding the data model, functions, priorities and presentation. But my role has been that of system owner, editor and something akin to a very detail-oriented client. The actual programming has been carried out by machines capable of working directly with both the new code and the remnants of the old.
See what the LLM had to say about the work here:
In 2015, I considered MediaWiki, Semantic MediaWiki and Symphony CMS, but ended up once again tinkering with my own system. This time, I’ve once again ended up with my own CMS, but without having written it myself.
It’s hard not to see a certain continuity in this. I still preferred a system that suited the content, rather than adapting the content to a standard system. The difference is that it was no longer necessary to programme it myself to achieve that.
The old CMS lasted for about 18 years. It survived the first iPhone, responsive websites, social media and most of the technological platform on which it was built. In the end, it wasn’t a major bug in the code that killed it, but the fact that the surrounding platform disappeared.
Now the content is back online in a new system, built by a group of language models based on my descriptions and the remnants of the old system.
So we’ll have to see what happens the next time that point in the decade comes around again.