Author: Ralf
-
Why you should develop for latest, greatest
Developers sometimes choose not to use the latest available language features that would be appropriate to tackle a problem for fear of alienating users and collaborators. This is a bad habit and we should stop doing that. Part of the solution are transpilers. What are transpilers, where are they used and what is the benefit?…
-
Phar out: horde/components in one file
tl;dr – I packaged horde/components as a single file for easy inclusion in build pipelines. The horde/components commandline app is an important development tool. It lets you generate a composer.json file from the .horde.yml definition, helps with managing the changelog yml and provides a simple workflow utility which I use for release pipeline. Last year…
-
Horde Installer: Return to the Vendor
TL;DR – horde/horde-installer-plugin will now install apps to vendor dir and then link to web dir Apps in the web dir Until today, the composer plugin for installing horde apps installed apps directly into the web dir and linked configs from outside the webdir into the apps. That had several drawbacks. Developers could not just…
-
Exceptional Dependency Decency
Libraries can become less attractive to 3rd party integrators if they depend on too many unwanted other elements. This is especially true for libraries that are themselves pulled in as a dependency. Our horde/exception library is no exception to this. It is pulled in by almost all horde libraries because it is horde’s goto solution…
-
Horde/Yaml: Graceful degradation
Tonight’s work was polishing maintaina’s version of horde/yaml. The test suite and the CI jobs now run successfully both on PHP 7.4 and PHP 8.1. The usual bits of upgrading, you might say. However, I had my eye on horde/yaml for a reason. I wanted to use it as part of my improvements to the…
-
PHP: Tentative Return Types
PHP 8.1 has introduced tentative return types. This can make older code spit out warnings like mad. Let’s examine what it means and how to deal with it.
-
Horde Installer: Recent Changes
Major codebase change. Now triggers on autoload-dump rather than earlier in the install phase. Outputs info to console, new comments in autogenerated files.
-
Maintaina/Horde UTF-8 on PHP 8
On recent OS distributions, two conflicting changes can bring trouble. MariaDB refuses connections with ‘utf-8’ encoding Recent MariaDB does not like the $conf[‘sql’][‘charset’] default value of ‘utf-8’. It runs fine if you change to the more precise ‘utf8mb4’ encoding. This is what recent MySQL understands to be ‘utf-8’. You could also use ‘utf8mb3’ but this…
-
A new phase in life
TL;DR – I changed job and this will not affect ongoing maint. of anything Horde I spent almost my whole work life with a single employer. It was quite a trip. I was part of it as a company grew from a hand full of guys into fifty, then hundred and ever more. I saw…