Adobe, the company with virtually limitless budget, somehow created possibly the worst CMS to grace this earth (at least from the UX perspective). Meet Adobe Experience Manager, or AEM for short.

For starters, there's two executable jars: author and publis. Author is where you make all your pages, publish is the "final" preview. Except they're the same jar file. It's deciding which mode to run in based on the jar filename. The filename is also how you configure things like which port it's running on.

Publishing pages (sending them to the publish app) looks simple: select the page you want, press a button and it's ready to view. Except it's not. In order to publish a page and have it visible, you also need to publish the entire directory structure this site is in. So if you have the page in a directory "my-site/en/pages/home", you have to publish "my-site", then "en", then... The real kicker is that when you press "publish" on a page there's a checkbox that asks if you want to also publish everything that's linked to this page, that seemingly doesn't do anything

Ok, enough about publishing. Let's focus on the absolute monstrosity that is the "author" environment. When you first open it, you're greeted with a pretty layout with transitions and animations that's clearly meant for the editors. This is where you make folders and pages, and this is where you publish them. It's worth mentioning that these "folders" exist only in AEM, not on your disk. This part is actually ok, and if it wasn't for the shit publishing ux I'd say it's good.

But, that part only allows you to make pages with some predefined components. What if you wanted to make your own? Don't worry, you can. You just need a maven project that mixes Java, JavaScript, scss and XML in an unholy abomination of frontend and backend that _somehow_ gets compiled into Java classes that then get shoved into AEM and somehow work. Usually. Except for when they just break for no reason (5 people tried the same thing, and each got a completely different error, and it worked for the 6th person with no issues).

But that all was just the surface level stuff. You see, AEM is much more complicated than that. It's not _just_ a wisywyg HTML editor with some customizability sprinkled in. No, sir. It's practically an entire Unix-based operating system. You can open "crxde lite", or like I like to call it, the "os view" to see the entire unix-like directory tree. Just don't be surprised by how it looks. We're in admin/developer territory here, so better get used to the UI that'd make Windows Vista jealous.

The "os" comes with a bunch of apps. Aside from the designer view and crxde lite, there's a replication manager, GraphQL browser, user manager, asset manager and many more. Each app comes with its own UI style and even worse UX than the previous ones. Oh, by the way. I hope you have plenty of ram, cause all those apps are constantly loaded in memory.

Did I mention that the entire thing is written in Java? And I really mean the _entire_ thing. From what I can see, even the frontend JS is generated from Java classes.

So, TL;DR: it's shit. Stay the fuck away from it, and don't use it unless you absolutely have to. Or you're a masochist that wants to make a living out of it. If you know your way around AEM, you're practically guaranteed a well paying job

  • 0
    Thx for the elaborate review, it was interesting. Equally uninmpressed with WpBakery or the new WP Gutenberg editor & "customizer" though. Those are written in JS and still eat RAM.

    Perhaps StoryblokJS or MetalsmithJS or another static site generator + headless cms combo would be better tools for the job.
  • 1
    @webketje Gutenberg isn't great but it's definitely an improvement over bbcode. It has some really stupid limitations though that only make sense if you
    - are aware of JSX's object model
    - are unaware of the common techniques to get around its limitations
Add Comment