Customizing mod_dav_svn’s output

It’s one of those things I’m pretty sure I’ve done before and couldn’t put my hands on anymore, so I’ll just leave it here. Hopefully it serves someone else, or myself, at some point.

I was looking for a way to add a “warning” banner, such as the one which is now up at http://svn.magnolia-cms.com/svn.

mod_dav_svn, the Apache mod used to serve Subversion repositories over HTTP, can also be used as a minimal front-end for html-based browsing of repositories. Unfortunately, its output is not very customizable, if at all: all you get is a directive that lets you specify an xslt sheet (yuck) for transforming the output; and if you do decide to go down that route, the transformation happens on the client side.

So I thought about using another Apache mod to modify the content served by mod_dav_svn. At first, I was going to go for a crude User-Agent detection, but realized that, when requested via a browser, the content was sent as text/html, while when requested via a proper SVN client, it was sent as text/xml. Good, then all I needed was provided by mod_ext_filter. All that was left to do was figure out the command I’d want to run with this filter…

Continue reading

Magnolia CMS and semantic technologies – follow-up on the SalsaDev webinar

Back in August, I introduced the “External Indexing Module” for Magnolia CMS. Just last week, we had a webinar with salsaDev, where they introduced their technology stack, and I demonstrated how to use it with Magnolia and the External Indexing Module.

For those who missed it, it’s now available on our website. Unfortunately, we didn’t have time to address all questions asked by the audience. We usually send a follow-up email to the audience of webinars, but why not publish those unanswered questions as well ? Well, we decided to go ahead and just do it. It provides some interesting insights and different perspectives on the problem and the solution. (Questions were anonymized, some questions were slightly rewritten or merged when they touched on similar topics. The answers were written collegially by salsaDev and myself)
Continue reading

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

Follow-up on Magnolia User Group in Prague

On November the 24th, almost 3 weeks ago, a few lucky people met in Prague, Czech Republic. The second ever Magnolia User Group meeting was held. Chances are you heard about it if you follow Magnolia posting, but please read on. While this is my first blog about the concept and the event, I tweeted a lot about it and sent a couple of emails around.

What’s a Magnolia User Group? What happened in Prague? Why should you care? Read on!

Continue reading

Don’t deploy Magnolia: deploy your project.

In the previous episodes of this series of posts, we have built a Magnolia CMS-based project, and learnt about how to make it self-configurable. It’s deployable as-is, in your container of choice, but it is not production-ready: for example, you probably want to use an external database instead of the built-in Derby. In this article, we will see how to make this possible, without having to configure anything manually before each deployment. Continue reading

Don’t configure Magnolia: let your projects configure it.

In the previous installment of this series of posts, we have created a new Magnolia-based project, including a reproducible build. We have a webapp that can be started in an IDE, or outside of it.
You might remember we added an STK theme to our project. And you might remember that it didn’t go all that well when we tried to view the first page we created. Continue reading

Don’t build Magnolia: build your projects.

This is the first of a series of posts, where I will attempt to consolidate a set of practices for creating, building and deploying Magnolia projects.

Why, you ask ?

Over time, Magnolia has grown into a fairly complex, but beautifully flexible product. There are a number of features, techniques and tricks that can make one’s life much easier. Unfortunately, I still see a lot of folks building or deploying their projects in ways that make me cringe. Not that they’re doing awful things, no, but it seems it’s high time to gather a few tricks here that will hopefully make a few folks go “aaaaahhhh”, and perhaps even a few others cursing me for not telling them about all this earlier.

Continue reading

Opening the door to semantic search in Magnolia

In the past couple of months, by pure coincidence, we have been in contact with two independent companies providing semantic search services. Less coincidentally, customers have been asking for semantic search features in Magnolia for months. Trending topic ? Yeah, pretty much. While it can sound like a mishmash of buzzwords, “semantic search” can mean a lot of different things, but generally provides different – or new – ways of looking at, and navigating, your content.

In this blog post, I’ll expose a few of the problems we have with regular searches in Magnolia, and how we’ve implemented a module that allows using the above mentioned services, bringing semantics into Magnolia !

Continue reading

Magnolia 4.4 is released !

Good news: Magnolia CMS 4.4 has just been released!

If you’re here, you’ve probably already seen the official announcements, be it in the newsletter, the user-list, the forum, Facebook, or even press releases, so you know all about the new features and improvements.

This release contains the biggest ever number of Magnolia modules (a whooping 41 for the Enterprise Edition), and 4 new modules (if I count well). Fixes span 16 Jira projects and amount to 145 issues.

The 4.4 release of Magnolia is also interesting for a number of not-so technical reasons: it is the first release where I’m not directly involved in development (more on that later), and the first major release where the team grew significantly: Federico joined us just before we released 4.2, but since then, Ondřej, Daniel and Tobias joined us too (this is their first major Magnolia release, woop woop!), and Antti helped tremendously; last but not least this is also the first major release developed from the comfort of our awesome new offices !

We hope you’ll enjoy using it as much as we enjoyed making it.

Cheers !