Update on MT vs. EE

Published on:

Playing more with ExpressionEngine and digging its User Support Forums helped me figure out some information that's worth sharing, since it impacts my comparison between Movable Type and ExpressionEngine.

The main point is that I don't think EE is ready to work for a weblog farm. While the site and documentation indicate that you can have multiple weblogs, the caveats are:

  • creating a new weblog does not create any template for it. It's a manual process and, as far as I can see, a rather cumbersome one. The default templates are capable of handling only the default weblog or all weblogs, but not a particular weblog without making them specific to it(*)
  • there is no way to selectively limit access to a set of templates, typically allowing weblogs owners to modify their own templates
  • the administration interface will not scale as the list of templates grows, since they are all displayed on one page! (a classic of UI scalability)

I understand that pMachine is working on a "user weblogs" or "community weblogs" module that would allow this, but there is no indication on when this will available.

This said, the claim that EE can manage multiple weblogs holds true. Simply it must be clear that templates have to be created manually for each weblog and managed centrally by the administrators, without an easy way to delegate this task.

For the technically inclined, here is, IMHO, the main difference between MT and EE when it comes to handling multiple weblogs:

Movable Type
MT templates are always executed within the context of one weblog at the time of (re)building pages, so there is no ambiguity here and, except for the case below, they do not contain any weblog-specific identification. This brings a huge benefit to templates: they can be duplicated very easily from one weblog to another without modification
Some tags (by default or from plugins) can address other weblogs (by inclusion or exclusion), in which case they point to weblogs by either their ID or their name
ExpressionEngine
EE templates are invoked by the request URL dynamically at view time, but the system has no way of determining from the URL if a particular weblog is being requested
EE tags refer to weblogs by their name. You have to specifically hard-code the weblog(s) name(s) in every template when you want to handle a specific weblog, and I have found no way to pass that name dynamically to the template. When the weblog name information is missing, the template will use the default weblog (or all of them in certain cases)

So my conclusion is that if your goal is to quickly setup an installation that will drive tens or hundreds of weblogs, this is something MT has been designed to do from the start and I would not recommend EE until its users weblogs module is released.

(*) At least I did not find how to do it. If I'm wrong in assuming that, please correct me.

P.S. and now that MT3.0 Dev Ed is out with its licensing conditions, I guess I'll have to update my review soon :-).