eiriksm.dev: Social historical code archeology: cronner.module

Violinist.io is well into its seventh year. It has survived a couple of Drupal core major upgrades and remains a profitable SaaS based on Drupal and a vital tool for agencies and organizations. I’m not sure if there is such a thing as social historical code archeology, but if there was, then this blog post might be it. I have long wanted to write some blog posts about the development of violinist.io that not only focused on exciting or interesting technical aspects. Instead I think this will highlight when things do not go as planned, why that was, and maybe something around what it meant at the time comparing to present day?

The project started as a PHP file and proof of concept in Drupal Developer Days Seville 2017. Literally. It was one PHP script placed inside one file. After I got that working I figured I would make it a composer package and run it with Drupal cron. This was the first version of violinist.io. Run the method of a composer package with cron. I made a module to contain this hook_cron implementation. I called it cronner. It was the module to do things on cron so that was the name. The cronner module.

cronner.module was first checked in to git with the revision 55da4a9c:

From 55da4a9c
Date: Thu, 23 Mar 2017 08:38:57 +0100
Subject: [PATCH] This is a site now?

 

As we may deduce from the commit message, this was a pretty early one in the codebase. More precisely, this was the second commit to the codebase, after some initial scaffolding files. At that point, this was the entire contents of cronner.module:

<?php

/**
 * Implements hook_cron().
 */
function cronner_cron() {
  $nodes = Drupal::entityTypeManager()
    ->getStorage('node')
    ->loadByProperties([
      'type' => 'project'
    ]);
  $q = Drupal::queue('cronner_project');
  foreach ($nodes as $node) {
    $q->createItem($node);
  }
}

Basically a cron implementation to queue all projects on the site periodically.

Fast forward to 2023 and some reflections around maintaining a codebase. Cronner. I can honestly say that cronner is among my least proud namings in the codebase. The hook_cron implementation is long gone and replaced with all sorts of fancy cloud computing. The name really is misleading now. It contains no cron implementations like that any more. Instead it contains (among other things):

  • Schema for the database table called cronner_log
  • Some random theme hooks used here and there
  • A hook_node_insert implementation that is still the one responsible for adding new projects to the update queue

I have many times wanted to work on extracting parts of cronner.module into separate modules. But fixing bugs, improving test coverage or implementing new features has always been the priority. At this point, from time to time I open the file cronner.module and shudder. But after that initial feeling of annoyance or shame I instead focus on the image of something like the origin life form. Something like a web of branches and roots coming out of a mother plant. Something almost alien-like. The module that started it all, the breathing and growing mother of the codebase.

Some might call it legacy. I call it cronner, the origin mother of the codebase.

Microsoft tests feature that lets you reinstall Windows through Windows Update without losing files, applications, etc.

A new Windows Update feature could be a game-changer for those scared of losing files or pictures when attempting to reinstall or recover their Windows 11 installations. The new feature, “Fix Problems using Windows Update,” lets you reinstall Windows 11 using Windows Update. The idea is to repair the existing Windows installation by downloading a fresh copy of the OS from Windows Update. And the best part? It won’t remove any files, settings, or apps, according to a support document from July 2023. ↫ Mayank Parmar for Windows Latest If it works as advertised, it sounds like a useful feature. I wouldn’t trust Windows Update with anything more valuable than a used toothpick, but if you’re already using Windows, that ship sailed anyway, in which case this is better than nothing.

Vue vs React Choosing the Right Framework for Your Project #VuevsReact #JavaScriptFrameworks…

Dive into the ultimate showdown: Vue vs React! Uncover the nuances of these JavaScript frameworks to make the perfect choice for your next project.

For more insights click here:-
https://www.appsdevpro.com/blog/integrate-machine-learning-in-android-apps/
https://www.appsdevpro.com/blog/android-app-security/
https://www.appsdevpro.com/blog/benefits-of-android-app-for-your-business/
https://www.appsdevpro.com/blog/cost-to-hire-android-app-developer/

Follow Us on Social Media:-

Facebook : https://www.facebook.com/appsdevpro
Twitter : https://twitter.com/appsdevpro
LinkedIn : https://www.linkedin.com/company/appsdevpro
Instagram : https://www.instagram.com/appsdevpro

#VuevsReact
#JavaScriptFrameworks
#WebDevelopment
#TechDebate
#ChooseYourFramework
#ProgrammingLanguages
#FrontEndDevelopment
#VueNation
#ReactCommunity
#CodeDecisions
#DevelopersChoice
#FrameworkShowdown
#TechInsights
#CodeWar
#JavaScriptDevs
#VueMastery
#ReactRedux
#CodingJourney
#WebDevTools

Microsoft Bing Webmaster Tools How To Register For Bing’s Webmaster Tools: Itay Verchik IVBS…

The Complete Guide On Microsoft Bing Webmaster Tools:
https://itayverchik.com/microsoft-bing-webmaster-tools/

In This Guide, I Show You How To Sign Up For Bing’s Webmaster Tools.

To Sign Up For The Keywords Tracking System:
https://say-v.com/

Join now the community of Webmasters and SEO Marketers completely free:
https://www.facebook.com/groups/itayverchik

To purchase Elementor Pro, the world’s best WordPress page designer:
https://trk.elementor.com/2500

Don’t Have A Web Hosting Account Yet Or Are You Just Not Satisfied With Your Existing Hosting?
Get A 25% Discount For Cloudways Web Hosting For The First 3 Months:
https://platform.cloudways.com/signup?id=314159&coupon=VERCHIK

NE KADAR GÜZEL OYNUYOZ |❄️ PUBG MOBİL SOĞUK GÜN ❄️

Bugün Duygu Buse ve Gitaristv İle Karlı Haritada 1. olmaya Çalışıyoruz,Karlı Soğuk ve pusunun Bol Yaşandığı Oyunda Bakalım Başımıza Neler Gelecek
Ayrıcalıklardan yararlanmak için bu kanala katılın:
https://www.youtube.com/channel/UCpcHFJwDFlrnbCw3yD-4Wzg/join

CANIM HANDAŞ AİLEM BİZLERİ DESTEKLEDİĞİNİZ HER GÜN GELEN VİDEOLARIMIZI İZLEYİP LİKE ve YORUM ATTIĞINI İÇİN HEPİNİZE SONSUZ TEŞEKKÜR EDİYORUM.
SİZLER SAYESİNDE BURADAYIZ VE SİZLER SAYESİNDE HEDEFİMİZE ULAŞACAĞIZ 10 MİLYON HANDAŞ AİLESİNE ULAŞMAK İÇİN ELİMİZDEN GELENİ YAPACAĞIZ.
SİZLERDE HANDAŞ AİLEMİZE KATILMAYI VE BİZLERE DESTEK VERMEYİ LÜTFEN UNUTMAYIN
—————————————————————————————————————————————-
– SOSYAL MEDYA HESAPLARIM –
-Discord : https://discord.gg/sttQ7WUJ
– Katılmak için: https://bit.ly/3w2a5TV
-İnstagram : https://bit.ly/37ftx50
-Tiktok : https://bit.ly/3CEky95
-2.Kanal : https://bit.ly/3hZrggC
– HAN KANAL DİĞER VİDEO SERİLERİM –
– PoppyPlayTime: https://bit.ly/3JdC9r1
– Roblox: https://bit.ly/3KC7kfZ
—————————————————————————————————————————————-
#hankanal #handaşgücü