Thursday, December 11, 2008

Magnolia 4.0: Supersonic Templating

I am happy to tell you that we just hit our 5th anniversary, and times at Magnolia are truly exciting. We have had a phenomenal year 2008, and we have every reason to believe that 2009 will be even more successful for us – not despite, but because of the economic downturn.

Right now, everyone is trying to cut costs, and Open-Source has an excellent value proposition. Magnolia has reached a level of maturity that is probably well beyond many of our future client's existing infrastructure. Magnolia's list of clients is extensive and leaves no doubt that Magnolia can be used in many different and demanding settings. Any way you look at it, Magnolia could not be in a better position. I have written about many factors coming together in favor of Open-Source business in general and Magnolia in particular in my blog entry titled "The Perfect Storm".

So at Magnolia, we are happy, but not complacent. We like what we do, and we work hard to improve Magnolia. Our recent work has been on two fronts - the first one is Magnolia On Air, which we have launched to great acclaim at Gilbane last week. We will talk about Magnolia On Air at length in the coming weeks.

The other front is Magnolia 4.0, in which we introduce what I like to call "Supersonic Templating" – because you can create custom, feature-rich, and pixel-perfect websites faster than you can fly from Paris to New York.

A short intermission about templates in Magnolia

Templates are used to generate output from Magnolia-managed content. Magnolia allows you to tie together an interface to manage data with a publication mechanism. A template provides the smarts to publish anything. Typically, publication is to the web as HTML, but templates can also be used to publish to other channels and other formats – PDF or RSS are two other common formats that come to mind in the context of web content management.

So while templates typically define the look & feel of a web-site, they also provide functionality. For instance, a template can be used to pull data from a third system (e.g. the "content" stored in Magnolia could be the connection and query information to an external database. The template would then use that information to query the database and render the output).

As you can see, templating is quite fundamental to Magnolia. Hence, it only makes sense to further improve the way you define templates and to provide examples of what can be done with Magnolia.


So what is Supersonic Templating?

First and foremost we have added fully-fledged Freemarker support to write templates. Freemarker is a templating language that provides many benefits over JSP (which we'll always and fully support). For instance, it has no dependency on the servlet API. This allows as to do many things we could not (or not easily) do with JSP's. For a start, Freemarker allows us to store templates in the repository. This handily allows us to put templates under version and access control, activate them and use workflow on templates.

The fact that Freemarker doesn't depend on Java means that you can write templates without knowing any Java at all. Freemarker simplifies the templates considerably. Jan has shown a typical example where the new Freemarker template is one-third of the size of our previous JSP template. It makes it easy to distinguish HTML markup from Freemarker code. The new Freemarker support will make it extremely easy for newcomers to get started with Magnolia and allow veterans to reduce their maintenance effort significantly.

There are many other benefits templating in Freemarker brings to Magnolia, which is why we believe it will be the templating language of choice for many new Magnolia sites.

Introducing the Standard Templating Kit

In addition, Magnolia 4.0 introduces a "Standard Templating Kit" (STK). Unlike our previously shipped "Sample Module", this is a complete, out-of-the-box website that can and should be used in production. It provides "templating best practice" and an extensive set of ready-made functionality that can easily be extended without changing the STK templates themselves. This is achieved through a new concept of configurable templates.

The STK renders accessible and 100% CSS-driven HTML. The STK templates and other resources (CSS, JavaScript) are stored in the repository. To allow access to these resources for Magnolia newcomers, we have added a module called "In-Place templating" which makes the Freemarker templates available through a simple web interface. This allows anybody to quickly see how things are done and perform simple changes on the templates themselves right in the browser.

Even better, we are working on providing WebDAV access to the template repository (probably in 4.1), which allows you to simply map a drive to the Magnolia template repository and use standard client html editors to edit the templates and the css. In other words, it gets very very sweet.

We are fully aware that in complex integration environments, templates will be part of a custom module, under SVN version control, built using maven or other build tools and deployed using the Magnolia packager module. But I believe that these new, easy-access templating mechanisms will bring many new users to the Magnolia platform and increase Magnolia's visibility in the CMS space.

New form module

Magnolia 4.0 also provides a new form module that adds new form fields, validation and form processors (e.g. to store the form data in a database). Form fields now have assignable keys that can be used to retrieve values, for instance to send customized confirmation mails using the new Mail module.

New mail module

The new Mail module allows you to send any Magnolia page as inline-HTML and to use Freemarker in mail templates. This makes it very easy to provide news-letter-style functionality.

Other goodies

Along the way we have added other goodies – we make various objects available to templating in JSP and Freemarker. This includes the current content, a model, paragraph and template definition object. Configurable paragraphs allow you to hide complexity that you previously added to user-facing content-editing dialogs. In other words, Magnolia will be even more user friendly because anything that doen't have to be in a user-dialog can be put somewhere else.


We also introduce the explicit notion of a "Site". You can configure multiple sites and assign a configuration to a content tree. Not only does this significantly improve support for multi-site installations, it also makes it simple to switch the layout of a site with the click of a button.

Final words

As you can see, Magnolia 4.0 will have a lot to offer. Most of the above features have already been implemented in the first preview version, available for download here.

Standard preview disclaimer: the preview is buggy and things *will* change or might not make it into the final product at all.

Before we release 4.0 at the end of January 2009, we will add more templates and define the final packaging. Later in 2009 we plan to provide more support for Web 2.0 / community functionality, add the WebDAV support mentioned above and start implementing GenUIne, the new Magnolia 5.0 architecture. As you can see, we will be busy.

Tuesday, December 09, 2008

Magnolia On Air reactions

We have launched Magnolia On Air, our new broadcast content management system, at Gilbane last week. The reaction has been extremely positive. We were mentioned at Gilbane during a presentation by Forrester as a showcase for Open Source systems that provide Digital Asset Management. I have given various interviews, which was a great experience. We have had some serious interest from TV stations and a very large international non-profit organization.

One of the interviews was with Eileen Mullan of EContent, who has published her article about Magnolia On Air.

CMSWire has written a great article:  "the real television (even with the benefits of OnDemand and TiVo) is struggling to keep its little antennae above water. But Magnolia On Air, the new Broadcast Content Management system from Magnolia, may be just what it needs to stay afloat". 

Magnolia On Air is a collaboration between Magnolia and Futurelab, who brings extensive technological and vertical business knowhow to the solution. Right now we have finalized the first project for RTSI, the Swiss Italian Radio & TV Channel, who will replace their existing site with OnAir in spring. This means we have a fully working system, many components of which are tried and proven. The value of OnAir is in the combination and integration of the components and the marketing focus on the broadcasting industry.

I am sure we will be able to publish more details once RTSI goes live with OnAir, but it is already clear that the new power Magnolia On Air provides for the multi-media division of a broadcaster will speed up time to publish massively and reduce costs to do so significantly.

This is the first collaboration that results in significant value-add to our open-source platform Magnolia. We have received interest for many more such collaborations and it is well possible that this will be a major business driver in the coming years.

Friday, November 21, 2008

The perfect storm

Magnolia has been available as a java-based, free, simple-to-use Open-Source Content Management System for five years this month. We are in an amazing position right now - Magnolia is a great brand, a great and stable product, we have built a great team, we have an amazing client list, we are seriously cash-flow positive while most of our competition is either burning venture or making losses and we have two amazing products in the pipeline. We are in a position of strength in a massively overcrowded marketplace that will see many competitors vanish in the very near future.

And while the markets tumble and companies struggle to stay alive, there is a very real possibility that Magnolia will fit the bill for those companies that need to update their web infrastructure. Not only is it cheaper (or free if you choose the GPL'd variant), it is also following a completely different philosophy: Magnolia's focus from the beginning was ease-of-use.

Let's face it, the demands of knowledge workers have changed dramatically. IBM still tries to use a database driven web model as the basis for their web site deployments (and in doing so, cripples Magnolia in its projects to a text editor). How much longer will they get away with this in a world where anyone can sign up for free to create blogs like this one, or complete websites without involving a battalion of consultants?

Some wake up to this new reality. Today, if I read press announcements of our competitors, they read what we announced 5 years ago. "Easy for administrators, developers and users". "Joy-of-use". "Simplicity". Yes, but a press release is no substitute for the real thing, which is why these companies directly drive their clients and prospects to us.

Yes, requirements in a multinational corporation can be massively complex, but that doesn't mean you need to torture users with your outdated content management processes or unusable user interfaces. It means you have to take usability serious.

In today's climate, many of our competitors will be unable to sustain their outdated business model which is based on promises and good relations. The number of competitor's senior sales representatives applying for a job at Magnolia has reached a level of one per week. But guess what: our clients don't need senior sales representatives. They visit our website, download Magnolia, talk to our evaluation team to understand how they can make Magnolia fit their needs and if they are satisfied with the result, they become our clients with a simple email or fax message stating the number of licenses they wish to obtain. Did you see the need for a sales guy in this process? Neither did I. So "no sales" is the motto of the day.

Since Magnolia has minimized the cost of sales, it can invest more in development (hence our ability to innovate through tough times) and it can invest more in marketing. The next step our closed-source competition will do is cut down on marketing expenses. This directly enables us to reach a higher visibility with less marketing effort.

So the closed-source competition is loosing money, losing senior sales guys, (have to) maintain an old code base to somehow keep their clients happy (and increasingly fail to do so), and has to minimize their cost of operations (you don't believe that any of these companies will invest into anything in these times) to stop losses. Thus, they go down the death spiral ever faster. 

Having dismissed Open-Source as an unmaintainable business model, they failed to seize the opportunity of building more with less. Now they lay off excellent developers (*). Thanks again. 

For us, this is the perfect storm.

Monday, November 10, 2008

Magnolia joined OASIS as Sponsor for CMIS

A couple of weeks ago I blogged about CMIS and stated that it sounds pretty interesting. Interesting enough in fact that Magnolia decided to become a full-blown "Sponsor"-level member of OASIS so that we can actively participate in this work. This is the first time Magnolia has joined a standards-body. Sameer and I were part of today's inauguration meeting which saw more than 30 people participate in a  conference call to form the TC (technical committee). If you have a look at the roster, it is interesting to see Magnolia on the same page (physically, not metaphorically) as EMC, IBM, Microsoft, Open Text, SAP or SUN. I am very excited that we have the resources and talent to join such an interesting initiative and I am confident that Magnolia's numerous large scale clients will benefit greatly form our involvement. Obviously, this is a long term goal as it will take a couple of years before large corporations will ship, and even longer before large corporations will implement what vendors have shipped; but in any case we'll be ready when you are.

Friday, November 07, 2008

TOC for a Magnolia book

Every once and again someone is interested to write a Magnolia book. Up to now, publishers have not been awfully interested for the simple reason that Magnolia is not a mass market system like some of the PHP based systems are.

Here is a table of contents for such a book from a recent endeavor by Balaji and Ganesh. I think that is a good start!

Wednesday, October 22, 2008

New blogpost by Vivian about Magnolia's future architecture

Vivian has written another excellent article about our work on GenUIne, the future GUI architecture of Magnolia. (BTW, I love Vivian's scribbles)

Vivian explains that the main motivation of GenUIne is ease-of-development. Obviously this has no immediate benefit for the end-user. After all, the end user or buyer of Magnolia doesn't know how hard or easy it is to provide her with an easy-to-use product like Magnolia.

However, the benefits will be apparent very soon. First, it will keep my team and our partners happy (because they enjoy working with Magnolia even more) and it will make it easier to add great new functionality faster - for everybody. This includes ourselves, our partners, any shop selling Magnolia-based projects and the people at our client's IT department. So the benefit will be quite visible soon enough for sure. 

GenUIne will also sport a gorgeous new interface for AdminCentral – as a side effect; or proof-of-concept you might say. And that will definitely please our end users the day we release it. switches to Magnolia Enterprise Edition

Today we launched our first-ever PR campaign. And what news!, the community site for the JBoss open-source community, is about to replace their existing infrastructure with Magnolia Enterprise Edition. More than 40 open-source projects will benefit from Magnolia's legendary ease-of-use and powerful flexibility, amongst them open-source brands like Hibernate and Seam.

Right now, the project is still in development, but we expect this to go live within the next 4 weeks. It has been great to work with Mark Newton, Community Lead of, who luckily is based in Zug, about 1hr away from us in Basel. 

Read more about the switch to Magnolia, including a cool case study video, at

Monday, October 20, 2008 back in our hands

A very quick note: since a couple of minutes ago, our nameservers are back in business for This was a massively quick transfer back to us. Within the next 24 hours most of you should find us under again. Since we already changed all of our infrastructure, we will stay with the new domain, which most people like better anyways, but it will give us the chance to keep our good Google ranking. More about all of this when I have more time.

Wednesday, October 15, 2008


Right now, we do no longer own the domain Since we did not expect this to happen, it means you cannot reach us on the web or via email any longer. You will land at a dummy website. Since all of our business depends on us being found, this is not really funny.

The whole story can be put in rather simple words: when we bought the domain a couple of years ago, it was registered with a a registrar that made it hard for us to move the domain anywhere else, so we simply kept it there instead of moving it to network solutions, where most of our domains are registered. Now, we found out the hard way that the original registrar is part of an elaborate network set up by a squatter, see:

So, while every decent registrar will try to contact you if your domain expires, this has not happened in our case (well, our registered email address was outdated and we could not be reached there any longer, but we did have valid information for the phone and fax). If a decent registrar can't reach you, he will park the domain for 2 weeks and you will see a message like "this domain has not been paid for" or similar. In any case, it should be straightforward to get it back. Not so in our case. The domain has been transferred today without us ever having received a notice. The new owner is Belize Domain WHOIS Service Ltd. who owns about 150k-170k domains. AFAIK ICANN requires that a domain is not transferred without the current owner giving its ok, so the fact that this has been transferred within 30 days after the domain expired is rather striking.

We have sent the new owner of, who is not reachable via phone, an ultimatum and an offer to get back the domain by tomorrow morning 9 AM CET.

Should we not get the domain back, we will relaunch our complete infrastructure on We will start working on that at 9 AM CET tomorrow, hence the ultimatum. Once we start the work, we will not look back. Since we own all of our infrastructure and know how to do these things, we'll be spending the next couple of days in our server room and make it happen. We will also contact everybody that links to us and ask them to rewrite their links.

So for anyone wanting to contact us, we'll be back tomorrow on the new domain

And we'll have some great news to share next Wednesday. So whereever you will reach us by then, we'll be celebrating.

Plus think of the positive side: no more spam.

Tuesday, October 14, 2008

Published interview on InitMarketing.TV

Sandro recently shot a video interview with me discussing Open Source marketing and Magnolia. His recent blog entry provides links to the video in full length and as an excerpt of highlights (see below) as well as the full transcript.

Even though I was rather jet-lagged, doing the interview was a fun exercise. I can now see why politicians use scripted answers ;-)

Here are the highlights of the interview:

Friday, September 12, 2008

CMIS is great for Magnolia

CMIS ( Content Management Interoperability Services) has been proposed by some industry heavyweights (Microsoft, IBM and EMC) as a new standard to exchange information between CM systems.

Lars has written an excellent roundup of what has happened this week with the announcement of a new acronym in the Content Management world.

Just as Lars, I was amazed about some of the reactions. If you believe the hype, JSR-170 is dead and CMIS has cured cancer and AIDS in a single stroke of genius.

Let me look beyond the hype and ask the simple questions "what is in it for me"? The outlook for Magnolia and other open-source or "smaller" (i.e. less pricey) systems is only improved by the ability to access the fat cat's information silos. Systems like Magnolia will bring agility, ease-of-use and cost-effectiveness to developing "non-strategic" applications against large vendors infrastructure, which somehow sounds more attractive for us than it does for Documentum et al. In any case, if it really happens and really works, it is good for the customer, who finally would get a choice. I for one have reason to look forward to that.

Friday, July 11, 2008

Use Magnolia and Google Webmaster Tools to restructure your website

I am in the process of relaunching We have rewritten most of the content and changed much of the site structure; in addition the top-level "en" directory has been dropped since all content is in English anyways for the time being. In other words, not a single URL of the previous site would still work on the new site.

How many broken links will this change result in? If you do it right, none.

Here is what I did:

1. Register for Google Webmaster Tools.
If you already have an account with Google, just add the Tools here:, otherwise register first.

2. Verify your site
Add your site to the Webmaster tools. To make sure that you have the right to do anything with a website, Google will request that a proof. The easiest way is to use the option where you create a new page with a special name, like "google14b6bc12345b6e7d.html". This is trivial with Magnolia, simply copy the name, log into our AdminCentral, click "create page, paste the name and activate the page. Back at Google Webmaster tools, click "verify now" and you are done. 

You can delete the page after that.  If you delete the verification page, Google will notice and request a new verification. So you will need to keep it. To make that fact less annoying, you can do a URIredirect (as described below), so the page doesn't show up in your AdminCentral tree. Another option is to log into the public site instead of the author and create the page there; you will probably forget about it but should it ever be deleted you can always create a new one.

3. Now check which – and how manypages point to you

Check the section "Pages with external links". This will give you a list of links to your site, and tell you ho many people link to that page. This makes it easy for you to understand which pages are most important. I focused on any page that has more than 10 links pointing to it.

Now you know which are the important pages. But what to do about it? Enter Magnolia's "virtualURIMapping". This functionality allows you to map prett much anything to anything else. I will only use pretty basic stuff, but you can even use regular expressions in your redirect config.

4. Magnolia's virtualURIMapping
In our case, we have created a custom module that holds the extensions we needed for the new site, and I will add the virtualURIMapping configuration there. You will find an example in the module "adminInterface", but virtualURIMapping's can be declared in any module configuration. (Note: at the moment, creating a new virtualURIMapping folder will not be automatically detected, so you need to restart your instance. Once it is there, you can add mappings to your heart's content without restarting).

Now. all you need to do is add a mapping for each of the "important" previously available URL's as shown in Google Webmaster "Pages with external links". Typically you will want to copy an existing node (example above: the 3-6 node) and paste it instead of creating the entries manually. This is a fast and straightforward process. Right-click on a contentNode, select "copy" from Magnolia's context menu, and left-click on the parent folder to paste a copy into the folder.

Then copy the path from Googles "external links" page and redirect or forward it to the new location. In the end, this will look similar to our setup:

In the image above you see three different ways to use the mapping:
  1. you can "forward" or "redirect". Forward is server-side and can be thought of as a virtually mirrored page, in other words, the client will not know that /3-6.html is really /home/3-6.html
  2. You can map anything below a folder like I did for "/en/* ". The "*" is the wildcard here, matching anything.
  3. You can map a specific page, like I did for "/en/about-magnolia.html". Note that here the formURI includes the ".html" ending. This also means that e.g. "/en/about-magnolia.print" will not be redirected by this mapping.
There are many more options for Magnolia's virtualURIMapping, but this has shown some of the most often used. You can see it in action once we launch the 3.6 site, scheduled for Monday 21. Just try and see where it takes you!

Saturday, June 28, 2008

Jan about the new Magnolia caching API and strategies

Jan has written another great article, this time about the new cache strategies being introduced in Magnolia 3.6. Up to now Magnolia has simply flushed the cache whenever any piece of content was activated to a public site. As you can imagine, this is very safe but expensive. It is hard to know which piece of content affects which part of rendered output, since pages can dynamically retrieve content from the repositories. This is why the safest way is to simply flush all cache whenever anything is activated. This is expensive, because more often than not, most pages will not have changed.

The new cache API allows to plug in your own cache strategies. Developing custom cache implementations is something we have been doing for quite while as part of our tuning services for our Magnolia Enterprise Clients. With Magnolia 3.6, we make this easier and provide some smarter alternatives to "total flush on activation". It should be interesting to see, what ideas pop up in the near future (we already have more than we can release with 3.6), but smart caching is a pretty interesting topic, especially for those larger clients of ours that run hundreds of sites, very large sites, high traffic sites or multiple language sites. Each one of these has different requirements regarding caching, and by implementing a custom cache strategy, resources and response times can be optimized at the same time.

Enjoy the new improved caching power of Magnolia!

Magnolia on Twitter

I have started to twit news about Magnolia on twitter - follow magnolia_cms at

Thursday, June 05, 2008

Transactional activation coming to a Magnolia near you

Jan, our hard-core Magnolia developer, has joined the Magnolia blogging initiative, and does so with an outstanding article about the upcoming transactional activation for Magnolia, which we will release as part of Magnolia 3.6 later this month. In short words, this makes sure that what you publish actually is published and doesn't get lost on the way.


Friday, May 30, 2008

Magnolia 3.5.8 released

Today we released Magnolia 3.5.8 Community and Enterprise Edition. The last official release was 3.5.4 back in February. Why the 3.5.8 and not 3.5.5? Our release process will tag a release in SVN (our version control system) when we build the release; and things can still go wrong after that. 

Magnolia, when you download it, is a "bundle"; quite a number of modules will be bundled together into the various Magnolia bundles we provide. These bundles include the Community Edition and Enterprise Edition in various configurations, for instance we have specific bundles for Weblogic or Websphere that differ from a standard Magnolia Community Edition bundle.

Each of the 25 modules that make up Magnolia CE and EE has its own release cycle and its own release numbering (see jira, which list the modules we work on). The crucial part is that the actual release depends on the "Magnolia" module, i.e. the version number of that module is also the version number of our release. This is somewhat natural, since this is the "core" of Magnolia.

So whenever we tag the "Magnolia" module for a potential release, the release number goes up, and when we have finalized and released a build successfully, the final release number might look as if we skipped a number of releases. As you now know, we did not.

Saturday, May 17, 2008

Presenting at JavaSIG in New York

I will give a presentation next Wednesday for the New York JavaSIG, thanks to an invitation by Frank Greco, its founder. Also, Emil Ong of Gaucho will be presenting their Resin application server. The event takes place at the Google Engineering Offices, 76 Ninth Avenue (between 15th/16th St), 4th Floor in New York. Cool. That's right around the corner from where I live; I can walk there.


Provided you have no product development experience, an unproven business model and no funding, would you set out to enter an already overcrowded marketplace?

Magnolia is the story of four people who did; and almost failed; and almost failed again; and succeeded in the end, because they truly believe in one thing:

Simplicity matters.

You will learn how our focus on simplicity makes Magnolia so attractive for our clients, for developers and for ourselves, and you will gain first insights into how we develop "Genuine", the new GUI for Magnolia 4.0.

Along the way, you will learn how a small team out of Switzerland was able to create a product that is used around the world, is loved by its users and developers, and supports a solid 100% growth rate with an open source business model; and how you can, too.

Wednesday, May 14, 2008

Opening up: concepts, backlog and roadmap now available on the wiki

More good news from Magnolia: we have just made our internal documentation available on the Magnolia Development wiki (where you also find Gregs blogs).

We have added the sections Backlog (containing info about which features and functionality we have internally discussed and voted on), Roadmap (obvious) and most importantly Concepts - a section exploring and explaining various concepts related to the coming Magnolia releases.

The 3.6 release will focus on Backup, Caching and Transactional Activation, and you will find the information interesting because the functionality is part of 3.6.

However, I expect a somewhat bigger impact from "Genuine", our research into the future GUI for Magnolia. Of course, the fact that this info is now open doesn't mean it will happen, or happen any time soon. It just means this is stuff we think about, and would love to do.


Greg joins the Magnolia blogging initiative

Hey, we are on a roll! Greg just started blogging his thoughts about Magnolia on our confluence installation. Feel free to join us.

Friday, May 09, 2008

Launching all blogs

We at Magnolia are in the process of launching a team blogging initiative. Philipp and I will start blogging more about what is happening here at the core of Magnolia, what we are working on and what we think about. This is of course Sandro's idea, but it takes some evangelizing from my side to get my team to spend time on blogging instead of coding...

We'll add a blog aggregation later on the Magnolia dev section. For now, enjoy Philipp's first blog post.

Tuesday, February 19, 2008

Web Content Mavens: Open Source Web CMS

I nearly forgot to mention that I am on a panel about Open Souce CMS in Washington, DC next week: Web Content Mavens: Open Source Web CMS. It is on Wednesday, February 27, 2008 at 7:00 PM at R.F.D. Washington, 810 7th St. NW, Washington , DC 20001

You can sign up at the meetup site.

The discussion will be moderated by Scott Mendenhall and will feature the following panelists:

  • Keith Casey from Casey Software on Drupal
  • Antonio Chagoury from Inspector IT on DotNetNuke
  • Scott Davis from Alfresco on Alfresco WCM
  • Boris Kraft from Magnolia on Magnolia
  • Joe LeBlanc on Joomla!
  • Martin Ringlein from nclud on WordPress and TextPattern
I am looking forward to that evening. The last time I have been in Washington, DC was for the Innovation and Transformation conference, nearyl two years ago (see my blog post: Open Source forces enterprise transformation: think value or die).

See you there!

Wednesday, February 13, 2008

Content Here publishes "Open Source Web Content Management in Java" report

Seth has finished the first version of his "Open Source Web Content Management in Java" report, which covers the seven leading Open Source Java Content Management systems: Magnolia, and ... six others whose names I can't remember.

OK, OK, the report covers Alfresco, Apache Lenya, Daisy CMS, Hippo CMS, Jahia, Magnolia, and OpenCms, and as such is pretty comprehensive.

It includes:
  • strategies for evaluating different types of open source projects
  • how to consider open source in conjunction with commercial options
  • insights into the project communities, their histories and their outlooks
  • a rating system for comparing/contrasting the open source WCM options
The report gives a pretty solid introduction into Magnolia as a product, project and the community aspects and is definitely worth the 800$ price tag if you think about aquiring a new CMS, no matter if open source or not. Get it here:

Thursday, February 07, 2008

The idea of a content assembly line is so American

In "Content Managers: Extract the Full Benefits of Structured Authoring", Eric Kuhnen describes how he imagines DITA can be used to create technical manuals in a manufacturing fashion, much like building anything today by finding the smallest possible part, then getting the best deal for its production, and finally reassembling the parts to a whole.

When facing objections of content authors, Eric counters with "Business, though, is about fielding the best team, and there is no arguing that the level of control, accountability, and efficiency found in a structure-authoring assembly line would improve dramatically even as the unit costs to produce technical documentation would drop and the scalability would increase."

This whole issue is so American to me. I have spent a lot of time in the US lately, and one of the things that struck me most is the fact that anything gets broken down to the smallest bits, and optimized out of context. If I call Citibank because I have a question, I need to answer a number of security questions to establish my authentity. I then get redirected to another department, where I have to answer the same set of questions. Recently, that has happened 5 times in a row, sending me once around the globe, from Indian call centers to US bank counters to wherever.

This is such a bad experience for me, the "user", "client" or "reader". Yes, maybe each part is efficient and cheap, but what remains is worthless.

I have found this pattern everywhere in the US. I walk under a bridge in Manhattan and I am amazed about the monstreous ugliness of the sewer system installed under the bridge. Surely, the developers of that bridge did not care how the bridge looks from below. All they wanted is the cheapest guy to provide the sewer system. But as a pedestrian, I do care how my surroundings look.

Things in the US simply do not fit together. Anywhere you look, the smallest parts maybe efficient but in their completeness, they are inefficient, unfriendly, unusable or simply do not work at all.

Now back to Eric's article. I have written a lot of content, and I have read much much more. Maybe you argue a technical manual is not a Purlitzer Prize winner. OK. But splitting things into tasks that are individually assigned to the person best suited (he talks about hiring people that are good at writing captions!) does not make the result a team effort that works. If someone writes only captions without knowing what the picture's intention is (something that only the author of the actual content knows) will at best result in description of what I see on the picture (a.k.a. "the Microsoft Help Page Syndrom"). I doubt the result is efficient. It will simply be unusable. Not to mention the fact that I cannot imagine anybody being proud of her job, but that is a fundamental issue again found in the US - as a friend recently noted "The difference between European and American craftsmanship is that Europeans are proud of what they produce".

And, I might add, if you are proud of what you do, you like to do it. If you like to do it, you are better, more efficient and healthier. But of course these are no factors you would look at if you just want to outsource writing 1000 captions.

PS: Maybe Eric finds the time one day to research how Volvo builds cars. Hint: not the way anybody else does.

Wednesday, February 06, 2008

Better than free

If copying something is free, and the internet is a giant copy machine, what is valuable if not the thing (like software, music, images or information) being copied? Kevin Kelly in Better than free lays out eight ideas by asking "Well, what can't be copied?":
  • Immediacy
  • Personalization
  • Interpretation
  • Authenticity
  • Accessibility
  • Embodiment
  • Patronage
  • Findability
Of course this is extremely interesting for Magnolia, a business on the forefront of the "free" economy.

From my experience, I would add:
  • Responsibility
This is not the same as Authenticity. Maybe it fits in the Embodyment category. We embody the free software called Magnolia. But probably it really is something else, and can be sold. Magnolia is responsible for the free software, which is why we can charge for the Enterprise Edition even though the mere fact of making it available (the copy) is essentially free. Following the above ideas, we know why we can in fact give away the Community Edition (CE) for free. Think:
  • Immediacy: we could make Magnolia CE non-immediate by not providing a download (compile yourself). In a sense we make it non-immediate by not providing support, meaning if you need support, you need to get the Enterprise Edition first.
  • Personalization: we don't personalize the free CE for you. We do with the EE. And this goes a long way, for instance, we certify your platform, i.e. we garantee that Magnolia works and will work in the foreseeable future on your platform. No way we do this for the free CE.
  • Interpretation: we could restrict access to documentation to EE users. We do restrict access to us (as interpreters called "support") to EE users.
  • Authenticity: we provide access to authentic bug fixes and the authentic compiled and certified Magnolia Enterprise Edition. You just know it is not some malware you download.
  • Accessibility: we provide access to the EE, any version. You do not need to keep copies around. We could go further and back up your customizations for you, or even your data.
  • Embodiment: we come to your place to talk and to work with you if you pay for EE. We essentially don't talk to you if you are not a EE client.
  • Patronage: you can pay for the CE if you wish (only one person ever did, that was a 5 dollar donation 4 years ago).
  • Findability: being able to charge for the EE allows us to make Magnolia findable in the first place - through branding, public relations, marketing and even advertisement.

Thursday, January 31, 2008

What is non-content data?

Recenty I have been asked:

"Does Magnolia require a separate database for non-content data?"

Well, what is non-content? In the philosophy of JSR-170 "everything is content".

Technically, everything is accessed through the JSR-170 API, which is very well specified and the documentation is well written. The API is implemented by various implementations (well), Jackrabbit, CRX, Oracle 11 (and FileNet I believe) being the most prominent and useful ones. We are repository agnostic, ship with Jackrabbit but strive to support all mature repository implementations on the market to provide choice to our clients.

Jackrabbit in turn has a persistence layer which abstracts the act of persisting content from they way it is done. This allows a number of brilliant persistence options - from using JDBC to access "any" database, specific adapters to specific databases to in-memory persistence (in fact, no persistence), which is massively useful for test and development environments, because the state of the repository can be exquisitely well defined in a snap, before tests are performed, and take much less time, since they are in-memory.

Finally, to get closer to the question, the various methods of accessing databases may allow a partitioning of the content that is stored. Certainly Oracle has many switches to slice and dice your data to your hearts content. More prominently even is the BerkleyDB (now also owned by Oracle) persistence adapter that allows you to define if blobs are stored inside the database or directly on the file system.

In any case, none of this makes any difference of how you access the content from within Magnolia, herein lies the beauty of it all. Combine this with the fact that Magnolia is repository-agnostic and allows you to use "activation" to move any content from one Magnolia instance to a second one (or several at once), you can start in any way you like, perform tests, set up another instance with a different configuration or database and activate your content to this instance, then repeat the tests.

This is the freedom Magnolia provides at the storage level, a freedom that allows our clients to match their requirements using any independent storage solutions out there today, instead of locking them into a proprietary repository, like just about every other CMS on the market does today, including other prominent open source players.