Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "aem"
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 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 job2