What’s the Future of AEM Communities?

What’s the Future of AEM Communities?

February 23, 2021 1 By Tad Reeves

I’ll give you the hook first, then the explanation of why it’s important: From everything I’ve been able to gather so far, AEM Communities is not being ported to the AEM Cloud Service, and at this point looks like a dead product which will not be getting further updates.

Now here’s the back story, and why it matters. Remember the ye-olde term “Web 2.0“? Somebody said it in 2004 at an O’Reilly conference, and then name stuck: it implied the ability to use the web not only to consume content, but to interact with it in terms of social media, comments, ratings, uploads and other user-generated content. Fast forward to today, and social media is an entirely inextricable part of the Internet experience, even when it comes to traditionally non-interactive and “not-very-web-2.0” properties like marketing sites and corporate about-us pages. Truly-immersive experiences many times need to accommodate not just pushing content out, but allowing people to interact.

For experiences built off of Adobe Experience Manager, unless one wants to create a UGC framework and infrastructure system from the ground-up, the solution to handling this is AEM Communities.

What is AEM Communities?

AEM Communities is a robust set of capabilities built into AEM (though licensed separately from the main AEM Sites product), which allows for:

  • Blogs
  • Comments
  • Likes & Ratings (for comments as well as pages)
  • Q&A components and Event Calendars
  • Inline translation of community content
  • Forums with group capabilities
  • Scoring & gamification though badges
  • File Sharing & uploads
  • Notifications & activity streams
  • Tagging (@mentioning) community users
  • Social login using Twitter or Facebook, or other identity management systems
  • Robust infrastructure backends to handle volumes of UGC (user-generated content).
The AEM Communities “Community Functions” configuration screen

In addition to the innate functionality that each of these pre-built components offers, one of the primary facets that makes AEM Communities important as a product is that it extends to AEM a supported back-end infrastructure to handle this UGC.

If you’re new to this as a problem, I highly recommend reading up on this overview I put together on the guts of the AEM Communities infrastructure and how it works. But in-essence, the problem is that AEM’s storage mechanism (the Java Content Repository or JCR) is an append-only filesystem which is designed for high-performance reads, but NOT for high-performance random writes. It certainly is not the best tool for the job when tasked with storing and serving the highly-fluid needs of a forum with lots of comment updates, with likes & file uploads and tagging, of notifications and activity streams and the like.

(I won’t elaborate more on AEM 6.0’s UGC handling, you can’t make me)

When AEM 6.0 was released, Adobe had not yet built a backend infrastructure which could support UGC on a public site at any scale past a dev environment. Any update to UGC or profile information on one publisher had to be reverse-replicated through the author and then sent back out to all publishers.

On one particular such AEM 6.0 site in my mind (a corp site which had less public traffic than this blog), it could not stay up for more than a week or so without a meltdown. It was an abomination.

However, UGC handling got a thorough overhaul with AEM 6.1 and later versions, with several hosting options for UGC including either using MongoDB or a relational DB like MS SQL to persist your UGC, or you could just aim it at Adobe’s Communities setup and let them host your UGC.

Showing the MSRP or “Mongo Storage Resource Provider” architecture for AEM which allows AEM a high-performance option for serving & storing UGC alongside of a normal AEM infrastructure. See Diagrams of How AEM Solr/Mongo UGC (MSRP) Works

Although I won’t say that it’s perfect in its current incarnation, Communities on AEM 6.5 is feature-rich and actually does scale pretty well presuming you’re using it well.

So, what again about AEM Communities getting canceled?

So this brings me back to the point of this post. I’ve talked to a fair number of people at Adobe over the last 3 months trying to map out some issues I’ve had with AEM Communities, and also to map out future paths for customers on AEM as a Cloud Service. One thing that’s fairly clear is:

Adobe currently does not seem to have any plans to port AEM Communities to the Cloud Service, nor does it have a solution in near-readiness to store UGC for any customer who is looking to migrate to AEM as a Cloud Service.

Additionally, as there is no AEM 6.6 or AEM 7.0 or any other on-premise version of AEM currently in the pipeline for release, the AEM Communities 6.5 release is likely the last release that will be done of the product. Furthermore, I’ve further heard (unconfirmed) that Adobe will be pulling the SKUs for Communities, meaning new customers will not be able to purchase the product as it is now, though existing AEM Communities customers will of course be supported.

And this brings me to the next conundrum:

What Should AEM Customers Do for UGC Without Communities?

This is a legitimate problem.

Let’s say you’ve got a property where a core part of the cross-platform experience contains UGC – let’s say it has Comments, Likes, Ratings, Profiles, Badges (member ranking) and ability to upload screenshots.

Let’s also say that your property is somewhat sensitive, and you don’t just want to fling your UGC off into Disqus or another unknown platform with separate terms of service. This means, on AEM as a Cloud Service, that you would need to write entirely custom functionality to handle this UGC, and then create a scalable cloud architecture to store and service this UGC which is performant and will keep up with the rest of your site.

Or, you’ll simply need to stay on the on-premise, self-managed (or AMS-hosted) AEM 6.5 release for the conceivable future.

Or, you’d need to check out Disqus, Hyvor Talk, Discourse, or other UGC solutions and work out if their mechanics comport with your site and its plans for the future.

Hopefully There’s a Future for Some Version of Communities

Probably the best single part about AEM Communities is that it is relatively standardized, and is a common & supportable infrastructure. You can take your performance issues with Communities to Adobe, and get support on it as it’s a known part of the product.

But given the massive variability of UGC stresses on a site, if we all end up having to craft our own solution for user-generated content, I don’t want to then be the tech support manager at Adobe who has to take the phone call when some poor sod like me has to open a support ticket.

Note: If any Adobe folks read this and know that yes there absolutely is a future product in mind to replace AEM Communities and it’s just not out yet so chillout – please let me know and I’d be happy to amend the article. The above is based on conversations I’ve had with several different people at Adobe and may very well be wrong. I hope it’s wrong.

Note for other AEM People: If you’ve created a UGC-handling solution for AEM that you’re really happy with, please do tell! I’m all ears.

Cover Photo: Taken on the 94th floor of the Guangzhou IFC tower, looking over the skyline of Guangzhou in southern China – the biggest city I’ve ever been in, and by some measurements, the largest metropolis in the world.
Original: Skyline of Guangzhou from the IFC Tower 94th Floor | Flickr

Skyline of Guangzhou from the IFC Tower 94th Floor