Category: First Page
-
Cache Cache – Wicked Whupsie
Why did a wicked wiki page take seconds to load when nobody was editing it? Why did a whups ticket report recalculate the same numbers over and over again even though nothing had changed? And why were we spending CPU time trying to calculate available categories and queues on every single request? Conventional wisdom has…
-
A Little Bit of SOAP…
SOAP – Simple Object Access Protocol was born at the turn of the millennium when XML-RPC turned out to be not quite enough for the web’s growing need for integration and collaboration. 1 Horde has always been about integrations and APIs. It’s a framework driving collaboration software after all. Before “API-first” became a buzzword, Horde…
-
Another wicked game in the engine room
It was the early 2000s when the web was still glowing and deforming, freshly spit out from a volcano at CERN a mere decade earlier, taking its time cooling down and gelling into what we know today. Ward Cunningham’s original Wiki as seen in Portland Pattern Repository was already well established but otherwise barely anybody…
-
Dark is the road you wander
While we are pushing forward day by day, processing user reports of alpha and beta version bugs and quirks, we sometimes wonder what path lies ahead beyond those minor worries. Where do we go? I want to know. We have 150+ libraries and apps which are more or less in focus and a body of…
-
Intermission: H6 Beta Update Week
I hesitated the whole last week to release part 4 of our series on Horde 6 architecture decisions since there was a lot going on. The good news is you don’t have another lengthy article to read before next week at the earliest as we are laser focused on delivering beta stage for all 150+…
-
Web: Why “No Frontend Framework” is the Right Framework for Horde 6
Part 3 of 4: Architectural Evolution in Horde 6 I really did not want to build another frontend framework. Or adopt one for that matter. When jQuery Mobile became untenable (see Part 1), my instinct was to find the next framework. Something modern, well-maintained, with good documentation and community support. React? I embraced it wholeheartedly…
-
JWT Authentication: Building a Hybrid Model That Actually Works
Part 2 of 4: Architectural Evolution in Horde 6 In part 1 of the evolution series: The jQuery Problem I discussed frontend concerns – How to move off a dead mobile-only framework towards a mobile-first responsive design and not get caught in the next framework I don’t need. This time we move towards authentication concerns.…
-
The jQuery Mobile Problem: Why Horde 6 Had to Move On
Part 1 of 4: Architectural Evolution in Horde 6 Turns out you can’t ship a stable release while depending on a framework that was deprecated five years ago. I sort of knew this deep down in my head. Yes, yes, unmaintained dependencies are a problem. But the full weight of it didn’t hit me until…
-
Horde’s new Two-Factor API
New Horde 6 feature: The horde/horde base app’s next release supports two factor logins.Dmitry Petrov is working to release a new One-Time Password module which integrates with this new API. Seemless integration for One Time Passwords. Several years ago I did some downstream development for a customer. They wanted to use One Time Passwords (OTP)…
-
PHP: The case for standalone null parameters
PHP 8.0 introduced null and false as members of union types but disallowed them as standalone parameter types. PHP 8.2 changed that and allowed null as standalone parameter types. What is this good for? Should they extend this to “never” one day? Why do I call standalone null parameters poor man’s generics? What’s a null parameter?…