Git at Magnolia

You might have heard or read about it, Magnolia is finally moving to Git.

The main reasons for this move are the pains of merging and branching (i.e we just don’t branch as much as we should because Subversion makes it painful) and pull/merge requests as a way to make contributions simpler for users as well as for us to integrate.

I’ve been investigating tools for a while and I’ve come to a few conclusions… and more questions. Some of the requirements for having our codebase moved to Git make this choice a little more complicated than I’d like.
Continue reading

On code readability

It’s always been a subject for long and sterile debates. And yet, every now and then, I feel the itch and need to scratch it a little: coding style. Coding conventions. Javadoc usage. And whenever this comes up, it mostly ends up in “let’s update the eclipse/idea configuration files” or just “hum, yeah, we should look into this at some point” sort of reactions.

Setting up code conventions is all about code readability. Readability being all but subjective, these can hardly be completely enforced by software. I’d rather rely on common sense, but too many factors (like the food you had for lunch) have an effect on your common sense. The few points I’m about to mention can probably not be enforced reliably by any kind of tool, other than yourself. Continue reading

Startup tasks, voters and irony

A recent spike a rewriting the cache module ironically has me looking at startup tasks again; a feature I’ve never been too fond of, even though I clearly see the need. (My take on this is that these tasks should be executed through the ModuleLifecycle instead of this patchy wooden leg, but that would require some more work which we’re not ready to do right now.)

So the only current usage of startup tasks in Magnolia itself is in the cache module. There are some projects out there who use the feature as well, most likely for sanity checks and recovery. Continue reading